public void ShouldBuildAFingerprintWithValuesFromRequestIfBothHeadersAreAvailable() { DateTime lastModifiedDate = new DateTime(2007, 4, 20); string etagValue = "\"some opaque value\""; mockRequest.SetupResult("IfModifiedSince", lastModifiedDate.ToString("r")); mockRequest.SetupResult("IfNoneMatch", etagValue); ConditionalGetFingerprint fingerprint = new FingerprintFactory(null, null).BuildFromRequest(request); Assert.AreEqual(new ConditionalGetFingerprint(lastModifiedDate, etagValue), fingerprint); }
public void ShouldFailGracefullyWithDatesFromBrowserWhichAreNotInRfc1123FormatByReturningValidButIncorrectFingerprint() { DateTime lastModifiedDate = new DateTime(2007, 4, 20); string etagValue = "\"some opaque value\""; mockRequest.SetupResult("IfModifiedSince", lastModifiedDate.ToString()); mockRequest.SetupResult("IfNoneMatch", etagValue); ConditionalGetFingerprint fingerprint = new FingerprintFactory(null, null).BuildFromRequest(request); Assert.AreNotEqual(new ConditionalGetFingerprint(lastModifiedDate, etagValue), fingerprint); }
public void ShouldAddQuotesToStringFromVersionAssemblyProviderForFingerprintFromDate() { string testETag = "test e tag value"; DateTime testDate = new DateTime(2007, 4, 20); DynamicMock mockVersionProvider = new DynamicMock(typeof(IVersionProvider)); mockVersionProvider.SetupResult("GetVersion", testETag); ConditionalGetFingerprint testConditionalGetFingerprint = new FingerprintFactory((IVersionProvider) mockVersionProvider.MockInstance, null).BuildFromDate(testDate); string expectedETag = "\"" + testETag + "\""; Assert.AreEqual(expectedETag, testConditionalGetFingerprint.ETag); }
public void ShouldReturnNotAvailableIfEitherOrBothHeadersAreMissing() { mockRequest.ExpectAndReturn("IfModifiedSince", null); mockRequest.ExpectAndReturn("IfNoneMatch", null); ConditionalGetFingerprint fingerprint = new FingerprintFactory(null, null).BuildFromRequest(request); Assert.AreSame(ConditionalGetFingerprint.NOT_AVAILABLE, fingerprint); mockRequest.ExpectAndReturn("IfModifiedSince", DateTime.Now.ToString("r")); mockRequest.ExpectAndReturn("IfNoneMatch", null); fingerprint = new FingerprintFactory(null, null).BuildFromRequest(request); Assert.AreSame(ConditionalGetFingerprint.NOT_AVAILABLE, fingerprint); mockRequest.ExpectAndReturn("IfModifiedSince", null); mockRequest.ExpectAndReturn("IfNoneMatch", "\"opaque value in etag\""); fingerprint = new FingerprintFactory(null, null).BuildFromRequest(request); Assert.AreSame(ConditionalGetFingerprint.NOT_AVAILABLE, fingerprint); }