Ejemplo n.º 1
0
        public async Task API_OpenWebPageTest()
        {
            var widget  = new TestWidget();
            var handler = new OpenWebPage();
            var request = OpenWebPageRequest.Create(widget);

            await handler.Handle(request, CancellationToken.None);
        }
Ejemplo n.º 2
0
        protected override void HandleCore(OpenWebPageRequest <ReleaseEnvironmentWidget> request)
        {
            if (request.DataContext.Parent is ReleaseWidget parent)
            {
                var url = $"https://dev.azure.com/{Uri.EscapeDataString(parent.ConnectionSettings.Organization)}/{Uri.EscapeDataString(parent.Project)}/_releaseProgress?_a=release-environment-logs&releaseId={parent.LastReleaseId}&environmentId={request.DataContext.DeploymentId}";

                _ps.Start(url);
            }
            else
            {
                throw new InvalidOperationException("Parent was not found.");
            }
        }
Ejemplo n.º 3
0
        public async Task API_OpenWebPageTest2()
        {
            var processStarter = Substitute.For <IProcessStarter>();

            const string url = "invalid-uri";

            var widget = new TestWidget
            {
                URL = url
            };

            var handler = new OpenWebPage <TestWidget>(processStarter);
            var request = OpenWebPageRequest.Create(widget);

            await handler.Handle(request, CancellationToken.None);
        }
Ejemplo n.º 4
0
        public async Task API_OpenWebPageTest()
        {
            var processStarter = Substitute.For <IProcessStarter>();

            const string URL = "https://test-url.com";

            var widget = new TestWidget
            {
                URL = URL
            };

            var handler = new OpenWebPage <TestWidget>(processStarter);
            var request = OpenWebPageRequest.Create(widget);

            await handler.Handle(request, CancellationToken.None);

            processStarter.Received().Start(URL);
        }
Ejemplo n.º 5
0
        public async Task OpenGitHubIssueInBrowser()
        {
            var gitHubIssue = new GitHubIssueV1
            {
                IssueNumber = 1,
                Name        = "name",
                Owner       = "owner",
                Repository  = "repository"
            };

            var processStarter = Substitute.For <IProcessStarter>();

            var handler = new OpenGitHubIssueWebPage(processStarter);

            var request = OpenWebPageRequest.Create(gitHubIssue);

            await handler.Handle(request, CancellationToken.None);

            processStarter.Received().Start(Arg.Any <string>());
        }
Ejemplo n.º 6
0
        public async Task OpenVstsReleaseWebPage()
        {
            var ps = Substitute.For <IProcessStarter>();

            var release = new VSTSRelease_v1
            {
                Account      = "account",
                Project      = "project",
                DefinitionId = 1
            };

            var request = OpenWebPageRequest.Create(release);

            var handler = new OpenVstsReleasePage(ps);

            await handler.Handle(request, CancellationToken.None);

            var expected = "https://account.visualstudio.com/project/_release?definitionId=1&_a=releases";

            ps.Received().Start(expected);
        }
Ejemplo n.º 7
0
        public async Task OpenVstsBuildWebPageWithSpacesInProjectName()
        {
            var ps = Substitute.For <IProcessStarter>();

            var build = new VSTSBuild_v1
            {
                Account      = "account",
                Project      = "project with spaces",
                DefinitionId = 1
            };

            var request = OpenWebPageRequest.Create(build);

            var handler = new OpenVstsBuildPage(ps);

            await handler.Handle(request, CancellationToken.None);

            const string expected = "https://account.visualstudio.com/project%20with%20spaces/_build/index?definitionId=1&_a=completed";

            ps.Received().Start(expected);
        }
Ejemplo n.º 8
0
 public Task Handle(OpenWebPageRequest <TestWidget> request, CancellationToken cancellationToken)
 {
     return(Task.CompletedTask);
 }