예제 #1
0
        public async Task GetReleaseDefinitionsAsyncTest()
        {
            var accountName = "myaccount";
            var projectName = "myproject";
            var service     = new VstsService();

            var expected = new List <ReleaseDefinition>();

            await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await service.GetBuildDefinitionsAsync(null, projectName, this.token));

            await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await service.GetBuildDefinitionsAsync(accountName, null, this.token));

            await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await service.GetBuildDefinitionsAsync(accountName, projectName, null));

            using (ShimsContext.Create())
            {
                var client = new ShimReleaseHttpClientBase(new ShimReleaseHttpClient2())
                {
                    GetReleaseDefinitionsAsyncStringStringNullableOfReleaseDefinitionExpandsStringStringNullableOfInt32StringNullableOfReleaseDefinitionQueryOrderStringNullableOfBooleanIEnumerableOfStringIEnumerableOfStringIEnumerableOfStringObjectCancellationToken
                        = (teamProject, s1, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, cancellationToken) =>
                          Task.Run(
                              () =>
                    {
                        teamProject.Should().Be(projectName);

                        return(expected);
                    },
                              cancellationToken)
                };

                InitializeConnectionShim(client);

                var actual = await service.GetReleaseDefinitionsAsync(accountName, projectName, this.token);

                actual.ShouldBeEquivalentTo(expected);
            }
        }