Ejemplo n.º 1
0
        public void Creation_fails_for_invalid_CacheContent()
        {
            // Arrange
            var primaryKey   = new PrimaryCacheKey("https://localhost/test", "POST");
            var secondaryKey = TestHelper.CreateContentKey();
            var entry        = new CacheEntry(primaryKey, new string[0]);
            var response     = new HttpResponseMessage();

            var noPrimary = new CacheContent()
            {
                ContentKey = secondaryKey,
                Response   = response
            };

            var noContentKey = new CacheContent()
            {
                Response = response
            };

            var noResponse = new CacheContent()
            {
                PrimaryKey = primaryKey,
                ContentKey = secondaryKey,
            };

            // Act

            // Assert
            Assert.Throws <ArgumentException>(() => SterlingCacheContent.CreateAsync(noPrimary).Result);
            Assert.Throws <ArgumentException>(() => SterlingCacheContent.CreateAsync(noContentKey).Result);
            Assert.Throws <ArgumentException>(() => SterlingCacheContent.CreateAsync(noResponse).Result);
        }
Ejemplo n.º 2
0
        public async Task Can_be_created_from_plain_CacheContent()
        {
            // Arrange
            // Ctor

            // Act
            var sterlingContent = await SterlingCacheContent.CreateAsync(content);

            // Assert
            Assert.NotNull(sterlingContent);
            Assert.Equal(primaryKey, sterlingContent.CacheEntry.PrimaryKey);
            var restoredResponse = sterlingContent.Response;

            AssertCorrectReconstruction(restoredResponse);
        }
Ejemplo n.º 3
0
        public async Task Database_can_save_a_CacheContent()
        {
            // Arrange
            var Database        = TestHelper.CreateDatabase();
            var sterlingContent = await SterlingCacheContent.CreateAsync(content);

            // Act
            var objKey = await Database.SaveAsAsync(sterlingContent);

            var savedContent = await Database.LoadAsync <SterlingCacheContent>(objKey);

            // Assert
            Assert.NotNull(objKey);
            Assert.NotNull(savedContent);
            AssertCorrectReconstruction(savedContent.Response);
        }
Ejemplo n.º 4
0
        public async Task Creation_does_not_fail_with_empty_message()
        {
            // Arrange
            var primaryKey   = new PrimaryCacheKey("https://localhost/test", "POST");
            var secondaryKey = TestHelper.CreateContentKey();
            var entry        = new CacheEntry(primaryKey, new string[0]);
            var response     = new HttpResponseMessage();

            var content = new CacheContent()
            {
                PrimaryKey = primaryKey,
                ContentKey = secondaryKey,
                Response   = response
            };

            // Act
            var sterlingContent = await SterlingCacheContent.CreateAsync(content);

            // Assert
            Assert.NotNull(sterlingContent);
        }