public void SendDesignLayer() { var token = "TestToken"; GSA.App = new MockGSAApp(proxy: new GSAProxy()); var testObjects = new Dictionary <string, List <SpeckleObject> >(); var sendersCreated = new List <TestSpeckleGSASender>(); var tokensUsed = new List <string>(); Headless.streamSenderCreationFn = (url, t) => { var sender = new TestSpeckleGSASender() { ServerAddress = url, Token = t }; sendersCreated.Add(sender); return(sender); }; //Copy file so that it can be deleted later var origFilePath = HelperFunctions.GetFullPath(sendGsaFileRelativePath); var copiedFilePath = HelperFunctions.GetFullPath(@".\SendAnalysisLayerTest.gwb"); File.Copy(origFilePath, copiedFilePath, true); var exceptionThrown = false; try { var headless = new Headless(); headless.RunCLI("sender", "--server", restApi, "--email", "*****@*****.**", "--token", token, "--file", copiedFilePath, "--layer", "design" ); } catch { exceptionThrown = true; } finally { File.Delete(copiedFilePath); } Assert.IsFalse(exceptionThrown); //Check there 3 receivers were used with the restApi and token Assert.AreEqual(1, sendersCreated.Count()); Assert.IsFalse(string.IsNullOrEmpty(sendersCreated[0].StreamId)); Assert.AreEqual(restApi, sendersCreated[0].ServerAddress); Assert.AreEqual(testSenBucketStreamIds["model"], sendersCreated[0].StreamId); Assert.AreEqual(token, sendersCreated[0].Token); Assert.IsTrue(sendersCreated[0].SentObjects.Keys.Count() > 0); Assert.IsTrue(sendersCreated[0].SentObjects.Values.Count() > 0); //Number of times a streamSender.SendObjects has been called }
public void SendAnalysisLayer() { var token = "TestToken"; GSA.App = new MockGSAApp(proxy: new GSAProxy()); var testObjects = new Dictionary <string, List <SpeckleObject> >(); var sendersCreated = new List <TestSpeckleGSASender>(); var tokensUsed = new List <string>(); Headless.streamSenderCreationFn = (url, t) => { var sender = new TestSpeckleGSASender() { ServerAddress = url, Token = t }; sendersCreated.Add(sender); return(sender); }; var expectedTestCases = new[] { "A1", "C2" }; var results = new[] { "Nodal Displacements", "1D Element Displacement" }; //Copy file so that it can be deleted later var origFilePath = HelperFunctions.GetFullPath(sendGsaFileRelativePath); var copiedFilePath = HelperFunctions.GetFullPath(@".\SendAnalysisLayerTest.gwb"); File.Copy(origFilePath, copiedFilePath, true); var exceptionThrown = false; try { var headless = new Headless(); headless.RunCLI("sender", "--server", restApi, "--email", "*****@*****.**", "--token", token, "--file", copiedFilePath, "--layer", "analysis", "--separateStreams", "--result", string.Join(",", results.Select(r => "\"" + r + "\"")), "--resultCases", string.Join(",", expectedTestCases)); } catch { exceptionThrown = true; } finally { File.Delete(copiedFilePath); } Assert.IsFalse(exceptionThrown); //Check there 3 receivers were used with the restApi and token Assert.AreEqual(2, sendersCreated.Count()); Assert.IsTrue(sendersCreated.All(r => !string.IsNullOrEmpty(r.StreamId))); Assert.IsTrue(sendersCreated.All(r => r.ServerAddress.Equals(restApi))); Assert.IsTrue(sendersCreated.Select(r => r.StreamId).OrderBy(i => i).SequenceEqual(testSenBucketStreamIds.Values.OrderBy(i => i))); Assert.IsTrue(sendersCreated.All(r => r.Token.Equals(token))); Assert.IsTrue(sendersCreated.All(s => s.SentObjects.Keys.Count() > 0 && s.SentObjects.Values.Count() > 0)); //Number of times a streamSender.SendObjects has been called Assert.IsTrue(GSA.App.LocalSettings.ResultCases.SequenceEqual(expectedTestCases)); Assert.IsTrue(GSA.App.LocalSettings.StreamSendConfig == SpeckleGSAInterfaces.StreamContentConfig.ModelWithTabularResults); Assert.IsTrue(GSA.App.LocalSettings.ResultTypes.Contains(SpeckleGSAInterfaces.ResultType.NodalDisplacements)); Assert.IsTrue(GSA.App.LocalSettings.ResultTypes.Contains(SpeckleGSAInterfaces.ResultType.Element1dDisplacement)); }