/// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            AdminGetUserResponse response = new AdminGetUserResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Enabled", targetDepth))
                {
                    var unmarshaller = BoolUnmarshaller.Instance;
                    response.Enabled = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("MFAOptions", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <MFAOptionType, MFAOptionTypeUnmarshaller>(MFAOptionTypeUnmarshaller.Instance);
                    response.MFAOptions = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("UserAttributes", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <AttributeType, AttributeTypeUnmarshaller>(AttributeTypeUnmarshaller.Instance);
                    response.UserAttributes = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("UserCreateDate", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.UserCreateDate = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("UserLastModifiedDate", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.UserLastModifiedDate = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("Username", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.Username = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("UserStatus", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.UserStatus = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
Пример #2
0
        public async void Test_GivenAUser_WhenGetTwoFactorEnabledWithoutAnMFAOption_ThenTheResponseIsFalse()
        {
            var response = new AdminGetUserResponse()
            {
                MFAOptions = new List <MFAOptionType>()
            };

            _cognitoClientMock.Setup(mock => mock.AdminGetUserAsync(It.IsAny <AdminGetUserRequest>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(response)).Verifiable();
            var output = await _store.GetTwoFactorEnabledAsync(_userMock.Object, CancellationToken.None).ConfigureAwait(false);

            Assert.False(output);
            _cognitoClientMock.Verify();
        }
Пример #3
0
 private static string GetAdminUserAttributeValue(AdminGetUserResponse response, string attributeType)
 {
     return(response.UserAttributes.FirstOrDefault(att => att.Name == attributeType)?.Value);
 }