Пример #1
0
        public async Task GetUsers_GivenEmptyList_ReturnEmpty()
        {
            // arrange
            var client = factory.CreateClient();
            var users  = new List <string> {
            };
            var dto    = new RetrieveUsersRequestDto
            {
                Usernames = users
            };

            // act
            var url      = "/api/user/retrieveUsers";
            var content  = new StringContent(JsonConvert.SerializeObject(dto), Encoding.UTF8, "application/json");
            var response = await client.PostAsync(url, content);

            // assert
            response.EnsureSuccessStatusCode();
            response.IsSuccessStatusCode.Should().BeTrue();

            string rsp = await response.Content.ReadAsStringAsync();

            var rspUsers = JsonConvert.DeserializeObject <IEnumerable <RetrieveUsersResponseDto> >(rsp);

            rspUsers.Should().HaveCount(0);
        }
Пример #2
0
        public async Task GetUsers_GivenUserList_ReturnAlphabetically()
        {
            // arrange
            var client = factory.CreateClient();
            var users  = new List <string> {
                "CrawlingMango", "mislav", "Tinkerer"
            };
            var dto = new RetrieveUsersRequestDto
            {
                Usernames = users
            };

            // act
            var url      = "/api/user/retrieveUsers";
            var content  = new StringContent(JsonConvert.SerializeObject(dto), Encoding.UTF8, "application/json");
            var response = await client.PostAsync(url, content);

            // assert
            response.EnsureSuccessStatusCode();
            response.IsSuccessStatusCode.Should().BeTrue();

            string rsp = await response.Content.ReadAsStringAsync();

            var rspUsers     = JsonConvert.DeserializeObject <IEnumerable <RetrieveUsersResponseDto> >(rsp);
            var rspUsersList = rspUsers.ToList();

            rspUsersList.Should().HaveCount(3);
            rspUsersList[0].Name.Should().Be("Amir Hirsch");
            rspUsersList[1].Name.Should().Be("Jerome Avelino");
            rspUsersList[2].Name.Should().Contain("Mislav Marohni");
        }
Пример #3
0
        public async Task GetUsers_GivenUserList_EnsureDataIsStoreInCache()
        {
            // arrange
            var cache = RedisConnectionHelper.Connection.GetDatabase();

            // ensure user does not exist in cache
            cache.KeyDelete("moul");
            cache.KeyDelete("tannerlinsley");

            // act
            var client = factory.CreateClient();
            var users  = new List <string> {
                "moul", "tannerlinsley"
            };
            var dto = new RetrieveUsersRequestDto
            {
                Usernames = users
            };

            // act
            var url      = "/api/user/retrieveUsers";
            var content  = new StringContent(JsonConvert.SerializeObject(dto), Encoding.UTF8, "application/json");
            var response = await client.PostAsync(url, content);

            // assert
            response.EnsureSuccessStatusCode();
            response.IsSuccessStatusCode.Should().BeTrue();

            (await cache.KeyExistsAsync("moul")).Should().BeTrue();
            (await cache.KeyExistsAsync("tannerlinsley")).Should().BeTrue();
        }
Пример #4
0
        public async Task <IActionResult> RetrieveUsers(RetrieveUsersRequestDto dto)
        {
            var result = await service.GetUsers(dto.Usernames);

            return(Ok(result));
        }