public void TestGetServerListReturnsItems() { // GIVEN var serverList = new Models.TalendApiListResponse <Models.Server> { ReturnCode = 0, ExecutionTime = new Models.TalendApiResponse.Executiontime { millis = 500, seconds = 2 }, Results = new System.Collections.Generic.List <Models.Server> { new Models.Server { active = true, id = 123, host = "localhost", label = "test-server", port = 20, useSSL = true, adminConsolePort = 8000, fileTransferPort = 8001, instance = "instance 2", isRuntimeServer = true, mgmtRegPort = 8002, mgmtServerPort = 8003, monitoringPort = 8004, timeOutUnknownState = 30 } } }; var response = Substitute.For <RestResponse <Models.TalendApiListResponse <Models.Server> > >(); response.Data = serverList; var apiCommand = new Models.ApiCommandRequest { authPass = _settings.TalendAdminPassword, authUser = _settings.TalendAdminUsername, actionName = TalendAdminApiCommands.LIST_SERVERS }; var encodedApiCommand = GetMetaservletCommand(apiCommand); var restClient = Substitute.For <IRestClient>(); restClient.Execute <Models.TalendApiListResponse <Models.Server> >( Arg.Do <RestRequest>(x => x.Resource.ShouldEqual($"metaServlet?{encodedApiCommand}"))).Returns(response); // WHEN ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient); var items = api.GetServerList(); // THEN items.ShouldNotBeEmpty(); items.First().port.ShouldEqual(20); items.First().label.ShouldEqual("test-server"); }
public void TestGetEsbTaskListReturnsItems() { // GIVEN var taskList = new Models.TalendApiListResponse <Models.EsbTask> { ReturnCode = 0, ExecutionTime = new Models.TalendApiResponse.Executiontime { millis = 500, seconds = 2 }, Results = new System.Collections.Generic.List <Models.EsbTask> { new Models.EsbTask { label = "test-task", applicationFeatureURL = "feature 2", applicationName = "application 35", applicationType = "type 45", applicationVersion = "version 0.54", contextName = "default", id = 42, jobServerLabelHost = "test-label", pid = "102", repositoryName = "repository 12" } } }; var response = Substitute.For <RestResponse <Models.TalendApiListResponse <Models.EsbTask> > >(); response.Data = taskList; var apiCommand = new Models.ApiCommandRequest { authPass = _settings.TalendAdminPassword, authUser = _settings.TalendAdminUsername, actionName = TalendAdminApiCommands.LIST_ESB_TASKS }; var encodedApiCommand = GetMetaservletCommand(apiCommand); var restClient = Substitute.For <IRestClient>(); restClient.Execute <Models.TalendApiListResponse <Models.EsbTask> >( Arg.Do <RestRequest>(x => x.Resource.ShouldEqual($"metaServlet?{encodedApiCommand}"))).Returns(response); // WHEN ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient); var items = api.GetEsbTaskList(); // THEN items.ShouldNotBeEmpty(); items.First().label.ShouldEqual("test-task"); }
public void TestGetEsbTaskListFailsIfInvalid() { // GIVEN var taskList = new Models.TalendApiListResponse <Models.EsbTask> { ReturnCode = 5 }; var response = Substitute.For <RestResponse <Models.TalendApiListResponse <Models.EsbTask> > >(); response.Data = taskList; var restClient = Substitute.For <IRestClient>(); restClient.Execute <Models.TalendApiListResponse <Models.EsbTask> >(Arg.Any <RestRequest>()).Returns(response); // WHEN & THEN ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient); Assert.Throws <System.Exception>(() => api.GetEsbTaskList()); }