Exemplo n.º 1
0
        //[Fact]
        public void Actually_Call_Api_Tasks()
        {
            ITalendAdminApi api   = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword);
            var             items = api.GetTaskList();

            items.ShouldNotBeEmpty();
        }
Exemplo n.º 2
0
        public void TestGetTaskIdByName()
        {
            // GIVEN
            var taskIdResponse = new Models.TalendApiResponseTaskId {
                ReturnCode    = 0,
                ExecutionTime = new Models.TalendApiResponse.Executiontime {
                    millis  = 500,
                    seconds = 2
                },
                taskId = 50
            };
            var response = Substitute.For <RestResponse <Models.TalendApiResponseTaskId> >();

            response.Data = taskIdResponse;

            var apiCommand = new Models.ApiCommandRequestGetTaskIdByName {
                authPass   = _settings.TalendAdminPassword,
                authUser   = _settings.TalendAdminUsername,
                actionName = TalendAdminApiCommands.GET_TASK_ID_BY_NAME,
                taskName   = "one"
            };
            var encodedApiCommand = GetMetaservletCommand(apiCommand);

            var restClient = Substitute.For <IRestClient>();

            restClient.Execute <Models.TalendApiResponseTaskId>(
                Arg.Do <RestRequest>(x => x.Resource.ShouldEqual($"metaServlet?{encodedApiCommand}"))).Returns(response);

            // WHEN
            ITalendAdminApi api    = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient);
            var             taskID = api.GetTaskIdByName("one");

            // THEN
            taskID.ShouldEqual(50);
        }
Exemplo n.º 3
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");
        }
Exemplo n.º 4
0
        //[Fact]
        public void Actually_Call_Api_Update_ESB_Tasks()
        {
            var updateEsbTask = new Models.UpdateEsbTaskSettings {
                EsbTaskID   = 18,
                EsbTaskName = "ConsumeAzureMessage4",
                Description = "Did this work",
                JobGroup    = "org.rsc"
            };

            ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword);

            api.UpdateEsbTask(updateEsbTask);
        }
Exemplo n.º 5
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");
        }
Exemplo n.º 6
0
        public void TestGetServerListThrowsExceptionIfNoResponse()
        {
            // GIVEN
            var response = Substitute.For <RestResponse <Models.TalendApiListResponse <Models.Server> > >();

            response.ErrorException = new System.Exception("ERROR");


            var restClient = Substitute.For <IRestClient>();

            restClient.Execute <Models.TalendApiListResponse <Models.Server> >(Arg.Any <RestRequest>()).Returns(response);

            // WHEN & THEN
            ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient);

            Assert.Throws <System.Exception>(() => api.GetServerList());
        }
Exemplo n.º 7
0
        public void TestGetTaskIdByNameFailsIfInvalid()
        {
            // GIVEN
            var taskIdResponse = new Models.TalendApiResponseTaskId {
                ReturnCode = 5
            };
            var response = Substitute.For <RestResponse <Models.TalendApiResponseTaskId> >();

            response.Data = taskIdResponse;

            var restClient = Substitute.For <IRestClient>();

            restClient.Execute <Models.TalendApiResponseTaskId>(Arg.Any <RestRequest>()).Returns(response);

            // WHEN & THEN
            ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient);

            Assert.Throws <System.Exception>(() => api.GetTaskIdByName("one"));
        }
Exemplo n.º 8
0
        public void TestGetServerListFailsIfInvalid()
        {
            // GIVEN
            var serverList = new Models.TalendApiListResponse <Models.Server> {
                ReturnCode = 5
            };
            var response = Substitute.For <RestResponse <Models.TalendApiListResponse <Models.Server> > >();

            response.Data = serverList;

            var restClient = Substitute.For <IRestClient>();

            restClient.Execute <Models.TalendApiListResponse <Models.Server> >(Arg.Any <RestRequest>()).Returns(response);

            // WHEN & THEN
            ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient);

            Assert.Throws <System.Exception>(() => api.GetServerList());
        }
Exemplo n.º 9
0
        public void TestUndeployEsbTaskDoesntThrow()
        {
            // GIVEN
            var apiCommand = new Models.ApiCommandRequestTaskId {
                authPass   = _settings.TalendAdminPassword,
                authUser   = _settings.TalendAdminUsername,
                actionName = TalendAdminApiCommands.REQUEST_UNDEPLOY_ESB_TASK,
                taskId     = 42
            };
            var encodedApiCommand = GetMetaservletCommand(apiCommand);

            var restClient = Substitute.For <IRestClient>();

            restClient.Execute <Models.TalendApiResponseTaskId>(
                Arg.Do <RestRequest>(x => x.Resource.ShouldEqual($"metaServlet?{encodedApiCommand}")));

            // WHEN
            ITalendAdminApi api = new TalendAdminApi(_settings.TalendAdminAddress, _settings.TalendAdminUsername, _settings.TalendAdminPassword, restClient);

            // THEN
            api.UndeployEsbTask(42);
            restClient.Execute <Models.TalendApiResponseTaskId>(Arg.Any <IRestRequest>()).Received();
        }
Exemplo n.º 10
0
        public void TestGetTaskListReturnsItems()
        {
            // GIVEN
            var taskList = new Models.TalendApiListResponseRaw <Models.Task> {
                ReturnCode    = 0,
                ExecutionTime = new Models.TalendApiResponse.Executiontime {
                    millis  = 500,
                    seconds = 2
                },
                Results = new System.Collections.Generic.List <Models.Task> {
                    new Models.Task {
                        active = "true",
                        id     = "123",
                        label  = "test-task",
                        addStatisticsCodeEnabled = "true",
                        applicationBundleName    = "org.rsc",
                        applicationFeatureURL    = "url",
                        applicationGroup         = "org.rsc",
                        applicationId            = "50",
                        applicationName          = "one",
                        applicationType          = "first",
                        applicationVersion       = "0.1.1",
                        applyContextToChildren   = "true",
                        artifactGroupId          = "org.rsc",
                        artifactId               = "org.rsc",
                        artifactVersion          = "0.5",
                        awaitingExecutions       = "true",
                        branch                   = "branch",
                        commandLineVersion       = "0.1",
                        concurrentExecution      = "true",
                        contextName              = "context",
                        description              = "describe this",
                        errorStatus              = "errored",
                        execStatisticsEnabled    = "false",
                        executionServerId        = "013",
                        featuresName             = "feature2",
                        featuresVersion          = "feature0.5.1",
                        framework                = "framework1",
                        frozenExecutions         = "execute2",
                        idQuartzJob              = "id1",
                        jobscriptarchivefilename = "/first/folder",
                        jobServerLabelHost       = "label",
                        lastDeploymentDate       = "one",
                        lastEndedRunDate         = "1/1/1999",
                        lastRunDate              = "first",
                        lastScriptGenerationDate = "1/12/2011",
                        lastTaskTraceError       = "errored somewhere",
                        latestVersion            = "0.2",
                        log4jLevel               = "WARN",
                        nextFireDate             = "05/05/2022",
                        onlineStatus             = "online",
                        onUnknownStateJob        = "unknown",
                        originType               = "origin",
                        pid                    = "123",
                        processingState        = "BLOCKED",
                        projectId              = "42",
                        projectName            = "project one",
                        regenerateJobOnChange  = "regenerate",
                        remaingTimeForNextFire = "10 minutes",
                        repositoryName         = "repo2",
                        runAsUser              = "******",
                        snapshot               = "true",
                        status                 = "active",
                        svnConnectionAvailable = "false",
                        svnRevision            = "0.1.5.2",
                        taskType               = "ESB",
                        timeOut                = "5 minutes",
                        triggersStatus         = "status",
                        virtualServerLabel     = "virtual label"
                    }
                }
            };
            var response = Substitute.For <RestResponse <Models.TalendApiListResponseRaw <Models.Task> > >();

            response.Data = taskList;

            var apiCommand = new Models.ApiCommandRequest {
                authPass   = _settings.TalendAdminPassword,
                authUser   = _settings.TalendAdminUsername,
                actionName = TalendAdminApiCommands.LIST_TASKS
            };
            var encodedApiCommand = GetMetaservletCommand(apiCommand);

            var restClient = Substitute.For <IRestClient>();

            restClient.Execute <Models.TalendApiListResponseRaw <Models.Task> >(
                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.GetTaskList();

            // THEN
            items.ShouldNotBeEmpty();
            items.First().id.ShouldEqual("123");
            items.First().label.ShouldEqual("test-task");
        }