예제 #1
0
        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");
        }
예제 #2
0
        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");
        }
예제 #3
0
        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());
        }