コード例 #1
0
        private IAuthenticationInformation GetAuthenticationInformation(string parameterSetName)
        {
            Contract.Requires(!string.IsNullOrWhiteSpace(parameterSetName));
            Contract.Ensures(null != Contract.Result <IAuthenticationInformation>());

            IAuthenticationInformation authInfo;

            switch (parameterSetName)
            {
            case ParameterSets.PLAIN:
                authInfo = new BasicAuthenticationInformation(Username, Password);
                break;

            case ParameterSets.CREDENTIAL:
                Username = Credential.UserName;
                Password = Credential.GetNetworkCredential().Password;
                authInfo = new BasicAuthenticationInformation(Username, Password);
                break;

            case ParameterSets.OAUTH2:
                authInfo = new OAuth2AuthenticationInformation(OAuth2Token);
                break;

            default:
                // ReSharper disable once NotResolvedInText
                throw new ArgumentOutOfRangeException("ParameterSetName", ParameterSetName, string.Format(Messages.EnterServerInvalidParameterSetName, ParameterSetName));
            }

            return(authInfo);
        }
コード例 #2
0
        public void LoginWithEmptyAbiquoApiBaseUriThrowsContractException()
        {
            // Arrange
            var abiquoClient  = AbiquoClientFactory.GetByVersion(AbiquoClientFactory.ABIQUO_CLIENT_VERSION_V1);
            var basicAuthInfo = new BasicAuthenticationInformation(USERNAME, PASSWORD);

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

            // Assert
        }
コード例 #3
0
        static IntegrationTestEnvironment()
        {
            var settings = new AbiquoSettings();

            settings.Import();

            AbiquoApiBaseUri = settings.AbiquoApiBaseUri;
            Username         = settings.Username;
            Password         = settings.Password;
            TenantId         = settings.TenantId;

            AuthenticationInformation = new BasicAuthenticationInformation(Username, Password);
        }
        public void GetAuthenticationHeadersReturnsBasicAuthenticationHeader()
        {
            // Arrange
            var basicAuthInfo = new BasicAuthenticationInformation(USERNAME, PASSWORD);

            // Act
            var authHeaders = basicAuthInfo.GetAuthorizationHeaders();

            // Assert
            Assert.IsNotNull(authHeaders);
            Assert.AreEqual(1, authHeaders.Keys.Count);

            Assert.AreEqual("Basic QXJiaXRyYXJ5VXNlcm5hbWU6QXJiaXRyYXJ5UGFzc3dvcmQ=", authHeaders[Client.Constants.Authentication.AUTHORIZATION_HEADER_KEY]);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }