Esempio n. 1
0
        public void CreateDataHasChangedResponse_ReturnsPreconditionedFailedCode()
        {
            ETagResponseService service = GetService();

            Microsoft.AspNetCore.Mvc.StatusCodeResult response = service.CreateDataHasChangedResponse();

            Assert.AreEqual((int)HttpStatusCode.PreconditionFailed, response.StatusCode);
        }
Esempio n. 2
0
        public void TryAddStrongETagForModel_ForNullModel_ReturnsFalse()
        {
            ETagResponseService service = GetService();

            var added = service.TryAddStrongETagForModel(null);

            Assert.IsFalse(added);
        }
Esempio n. 3
0
        public void CreateDataHasNotChangedResponse_ReturnsNotModifiedCode()
        {
            ETagResponseService service = GetService();

            Microsoft.AspNetCore.Mvc.StatusCodeResult response = service.CreateDataHasNotChangedResponse();

            Assert.AreEqual((int)HttpStatusCode.NotModified, response.StatusCode);
        }
Esempio n. 4
0
        public void AddETag_WhenETagIsNotNull_AddsETag()
        {
            string expected             = string.Empty;
            ETagResponseService service = GetService();

            service.AddETag(expected);

            var etag = GetETagHeader(service);

            Assert.AreEqual(expected, etag);
        }
Esempio n. 5
0
        public void AddWeakETagForModel_ForNonNullModel_AddsWeakTagFromETagService()
        {
            var expected    = "a";
            var mockService = new Mock <IETagService>();

            mockService
            .Setup(e => e.GetWeakETag(It.IsAny <object>()))
            .Returns(expected);

            ETagResponseService service = GetService(mockService);

            service.AddWeakETagForModel(new object());

            var result = GetETagHeader(service);

            Assert.AreEqual(expected, result);
        }
Esempio n. 6
0
        public ETagResponseService GetService(Mock <IETagService> mockETagService = null)
        {
            IETagService eTagService;

            if (mockETagService is null)
            {
                eTagService = new ETagService();
            }
            else
            {
                eTagService = mockETagService.Object;
            }

            var eTagResponse = new ETagResponseService(new FakeActionContextAccessor(), eTagService);

            return(eTagResponse);
        }
Esempio n. 7
0
        public void TryAddStrongETagForModel_ForUnsupportedModel_ReturnsFalseAndDoesNotAddHeader()
        {
            string expected    = null;
            var    mockService = new Mock <IETagService>();

            mockService
            .Setup(e => e.TryGetStrongETag(It.IsAny <object>(), out expected))
            .Returns(false);

            ETagResponseService service = GetService(mockService);

            var added = service.TryAddStrongETagForModel(new object());

            var result = GetETagHeader(service);

            Assert.IsFalse(added);
            Assert.AreEqual(0, service.ResponseHeaders.Count);
        }
Esempio n. 8
0
        public void TryAddStrongETagForModel_ForSupportedModel_ReturnsTrueAndAddsETagFromETagService()
        {
            var expected    = "a";
            var mockService = new Mock <IETagService>();

            mockService
            .Setup(e => e.TryGetStrongETag(It.IsAny <object>(), out expected))
            .Returns(true);

            ETagResponseService service = GetService(mockService);

            var added = service.TryAddStrongETagForModel(new object());

            var result = GetETagHeader(service);

            Assert.IsTrue(added);
            Assert.AreEqual(expected, result);
        }
Esempio n. 9
0
        public void AddStrongestETagForModel_WhenStrongIsSupported_AddsStrongTagFromETagService()
        {
            var expected = "a";

            var mockService = new Mock <IETagService>();

            mockService
            .Setup(e => e.GetWeakETag(It.IsAny <object>()))
            .Returns("Tried added weak etag");
            mockService
            .Setup(e => e.TryGetStrongETag(It.IsAny <object>(), out expected))
            .Returns(true);

            ETagResponseService service = GetService(mockService);

            service.AddStrongestETagForModel(new object());

            var result = GetETagHeader(service);

            Assert.AreEqual(expected, result);
        }
Esempio n. 10
0
        public void AddStrongestETagForModel_WhenOnlyWeakIsSupported_AddsWeakTagFromETagService()
        {
            var expected   = "a";
            var strongETag = "Tried adding strong etag";

            var mockService = new Mock <IETagService>();

            mockService
            .Setup(e => e.GetWeakETag(It.IsAny <object>()))
            .Returns(expected);
            mockService
            .Setup(e => e.TryGetStrongETag(It.IsAny <object>(), out strongETag))
            .Returns(false);

            ETagResponseService service = GetService(mockService);

            service.AddStrongestETagForModel(new object());

            var result = GetETagHeader(service);

            Assert.AreEqual(expected, result);
        }
Esempio n. 11
0
        public void AddWeakETagForModel_ForNullModel_ThrowsArgumentNullException()
        {
            ETagResponseService service = GetService();

            Assert.Throws <ArgumentNullException>(() => service.AddWeakETagForModel(null));
        }
Esempio n. 12
0
        public string GetETagHeader(ETagResponseService service)
        {
            service.ResponseHeaders.TryGetValue("ETag", out StringValues val);

            return(val.Count > 0 ? val[0] : null);
        }
Esempio n. 13
0
        public void AddETag_WhenETagIsNull_ThrowsArgumentNulLException()
        {
            ETagResponseService service = GetService();

            Assert.Throws <ArgumentNullException>(() => service.AddETag(null));
        }