示例#1
0
文件: AuthTests.cs 项目: Kubion70/AP
        public async Task IsSaltGeneratingCorrectly(string username, bool sucessfulResponse)
        {
            var response = await DefaultClient.GetAsync($"api/auth/{username}");

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

            Assert.Equal(sucessfulResponse, response.IsSuccessStatusCode);

            if (sucessfulResponse)
            {
                Assert.Equal(90, responseBody.Length);
            }
        }
示例#2
0
        public async Task GetAllCategories()
        {
            // Add sample category
            var category = new Models.Category()
            {
                Name = "Test"
            };
            await categoryRepository.Create(category);

            // Response should return
            var getAllResponse = await DefaultClient.GetAsync("api/Categories");

            Assert.Equal(HttpStatusCode.OK, getAllResponse.StatusCode);
        }
示例#3
0
        public async Task GetSpecificUser()
        {
            // Using bad guid
            var badResponse = await DefaultClient.GetAsync($"api/Users/{Guid.Empty}");

            Assert.Equal(HttpStatusCode.BadRequest, badResponse.StatusCode);

            // Using not existing guid
            var noContentResponse = await DefaultClient.GetAsync($"api/Users/{Guid.NewGuid()}");

            Assert.Equal(HttpStatusCode.NoContent, noContentResponse.StatusCode);

            // Using good guid
            var response = await DefaultClient.GetAsync($"api/Users/{sampleUser.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
示例#4
0
文件: AuthTests.cs 项目: Kubion70/AP
        public async Task IsAuthenticationPossible(string password, bool sucessfulResponse)
        {
            var challangeResponse = await DefaultClient.GetAsync("api/auth/Admin");

            string challangeBody = await challangeResponse.Content.ReadAsStringAsync();

            string salt = challangeBody.Trim('"');

            var hashedPassword = SHA.GenerateSHA256String(password);
            var hashedWithSalt = SHA.ComputePasswordAndSalt(hashedPassword, salt, SHA256.Create());

            var jsonString = JsonConvert.SerializeObject(hashedWithSalt);
            var content    = new StringContent(jsonString, Encoding.UTF8, "application/json");

            var authResponse = await DefaultClient.PostAsync("api/auth/Admin", content);

            string authBody = await authResponse.Content.ReadAsStringAsync();

            Assert.Equal(sucessfulResponse, authResponse.IsSuccessStatusCode);
        }
示例#5
0
        public async Task GetOneCategory()
        {
            // If we pass empty guid the should be bad request response
            var badResponse = await DefaultClient.GetAsync($"api/Categories/{Guid.Empty}");

            Assert.Equal(HttpStatusCode.BadRequest, badResponse.StatusCode);

            // Add sample category
            var category = new Models.Category()
            {
                Name = "Test"
            };

            category = await categoryRepository.Create(category);

            // After category added check if record can be returned
            var response = await DefaultClient.GetAsync($"api/Categories/{category.Id}");

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
示例#6
0
        public async Task IsItPossibleToGetAllUsers()
        {
            var response = await DefaultClient.GetAsync("api/Users");

            Assert.True(response.IsSuccessStatusCode);
        }