Beispiel #1
0
 public static void ClassInitialize(TestContext testContext)
 {
     // IMPORTANT: A new AbiquoClient gets created to make sure
     // the serialization settings defined in the static constructor
     // of the AbiquoClient get applied to the Newtonsoft JsonConverter
     AbiquoClientFactory.GetByVersion(AbiquoClientFactory.ABIQUO_CLIENT_VERSION_V1);
 }
        public void GetByCommitHashThrowsNotImplementedException()
        {
            // Arrange

            // Act
            var abiquoClient = AbiquoClientFactory.GetByCommitHash("hash");

            // Assert
        }
        public void GetByVersionWithNullVersionThrowsContractException()
        {
            // Arrange

            // Act
            var abiquoClient = AbiquoClientFactory.GetByVersion(null);

            // Assert
        }
        public void GetByVersionWithInvalidVersionReturnsNull()
        {
            // Arrange

            // Act
            var abiquoClient = AbiquoClientFactory.GetByVersion("vx");

            // Assert
            Assert.IsNull(abiquoClient);
        }
        public void LoginWithNullAuthenticationInformationThrowsContractException()
        {
            // Arrange
            var abiquoClient = AbiquoClientFactory.GetByVersion(AbiquoClientFactory.ABIQUO_CLIENT_VERSION_V1);

            // Act
            abiquoClient.Login(ABIQUO_API_BASE_URI, null);

            // Assert
        }
        public void GetByVersionWithValidVersionReturnsCorrespondingAbiquoClient()
        {
            // Arrange

            // Act
            var abiquoClient = AbiquoClientFactory.GetByVersion(AbiquoClientFactory.ABIQUO_CLIENT_VERSION_V1);

            // Assert
            Assert.IsNotNull(abiquoClient);
            Assert.AreEqual(typeof(AbiquoClient).FullName, abiquoClient.GetType().FullName);
        }
        public void LoginWithEmptyAbiquoApiBaseUriThrowsContractException()
        {
            // Arrange
            var abiquoClient  = AbiquoClientFactory.GetByVersion(AbiquoClientFactory.ABIQUO_CLIENT_VERSION_V1);
            var basicAuthInfo = new BasicAuthenticationInformation(USERNAME, PASSWORD);

            // Act
            abiquoClient.Login(" ", basicAuthInfo);

            // Assert
        }
        public void TestInitialize()
        {
            Mock.Arrange(() => Client.CurrentUserInformation)
            .IgnoreInstance()
            .Returns(User);

            Mock.SetupStatic(typeof(AbiquoClientFactory));
            Mock.Arrange(() => AbiquoClientFactory.GetByVersion(Arg.IsAny <string>()))
            .Returns(Client);

            // strange - the mock inside the PSCmdlet only works when we invoke the mocked methods here first
            // this seems to be related to the Lazy<T> we use to initialise the Abiquo client via the factory
            var currentClient = ModuleConfiguration.Current.Client;
        }
        public void LoginWithValidAuthenticationInformationReturnsTrue()
        {
            // Arrange
            var abiquoClient = AbiquoClientFactory.GetByVersion(AbiquoClientFactory.ABIQUO_CLIENT_VERSION_V1);

            var expectedRequestUri = string.Format("{0}{1}", ABIQUO_API_BASE_URI.TrimEnd('/'), AbiquoUriSuffixes.LOGIN);
            var basicAuthInfo      = new BasicAuthenticationInformation(USERNAME, PASSWORD);
            var user = new User()
            {
                Nick = USERNAME
            };

            var responseHeaders = Mock.Create <HttpResponseHeaders>();
            IEnumerable <string> cookieHeaderValues;

            Mock.Arrange(() => responseHeaders.TryGetValues(AbiquoHeaderKeys.SET_COOKIE_HEADER_KEY, out cookieHeaderValues))
            .Returns(new TryGetValuesDelegate((string name, out IEnumerable <string> values) =>
            {
                values = new List <string>()
                {
                    SET_COOKIE_HEADER_VALUE_1, SET_COOKIE_HEADER_VALUE_2
                };

                return(true);
            }))
            .OccursOnce();

            var restCallExecutor = Mock.Create <RestCallExecutor>();

            Mock.Arrange(() => restCallExecutor
                         .Invoke(HttpMethod.Get, expectedRequestUri, basicAuthInfo.GetAuthorizationHeaders(), null))
            .IgnoreInstance()
            .Returns(user.SerializeObject())
            .OccursOnce();

            Mock.Arrange(() => restCallExecutor.GetResponseHeaders())
            .IgnoreInstance()
            .Returns(responseHeaders)
            .OccursOnce();

            // Act
            var loginSucceeded = abiquoClient.Login(ABIQUO_API_BASE_URI, basicAuthInfo);

            // Assert
            Assert.IsTrue(loginSucceeded);

            Mock.Assert(responseHeaders);
            Mock.Assert(restCallExecutor);
        }
        public void LoginWithInvalidAuthenticationInformationReturnsFalse()
        {
            // Arrange
            var abiquoClient = AbiquoClientFactory.GetByVersion(AbiquoClientFactory.ABIQUO_CLIENT_VERSION_V1);

            var expectedRequestUri = string.Format("{0}{1}", ABIQUO_API_BASE_URI.TrimEnd('/'), AbiquoUriSuffixes.LOGIN);
            var basicAuthInfo      = new BasicAuthenticationInformation(USERNAME, PASSWORD);

            var restCallExecutor = Mock.Create <RestCallExecutor>();

            Mock.Arrange(() => restCallExecutor
                         .Invoke(HttpMethod.Get, expectedRequestUri, basicAuthInfo.GetAuthorizationHeaders(), null))
            .IgnoreInstance()
            .Throws <HttpRequestException>()
            .OccursOnce();

            // Act
            var loginSucceeded = abiquoClient.Login(ABIQUO_API_BASE_URI, basicAuthInfo);

            // Assert
            Assert.IsFalse(loginSucceeded);

            Mock.Assert(restCallExecutor);
        }