public async void ReturnAssetGivenValidArgs()
        {
            // arrange
            const string projectName = "asdf";
            const string buildId     = "qwer";
            const string asset       = "zxcv";
            const string expected    = "hjkl";

            JenkinsSettings settings = new JenkinsSettings();

            settings.HostURL = "http://example.org";

            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When($"{settings.HostURL}/job/{projectName}/{buildId}/{asset}")
            .Respond("application/octet-stream", expected);

            HttpClient httpClient = new HttpClient(mockHttp);

            JenkinsApiClient jenkinsApiClient = new JenkinsApiClient(settings, httpClient);

            // act
            var assetContent = await jenkinsApiClient.GetAsset(projectName, buildId, asset);

            // assert
            var actual = System.Text.Encoding.UTF8.GetString(assetContent);

            Assert.Equal(expected, actual);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Get(string projectName, string buildId, string asset)
        {
            logger.LogInformation($"Serving asset {asset} for route {Request.Path} [{projectName} and {buildId}]");

            byte[] content = await apiClient.GetAsset(projectName, buildId, asset);

            return(File(content, GetContentType(asset)));
        }