示例#1
0
        public void ToDashboardSettingsViewModel_WhenByteArrayCannotBeDeserialized_AssertCreateProtectorWasCalledOnDataProtectionProviderWithSettingsProtection()
        {
            IContentHelper sut = CreateSut();

            byte[] byteArray = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString("D"));
            sut.ToDashboardSettingsViewModel(byteArray);

            _dataProtectionProviderMock.Verify(m => m.CreateProtector(It.Is <string>(value => string.CompareOrdinal(value, "SettingsProtection") == 0)), Times.Once);
        }
示例#2
0
        public void ToDashboardSettingsViewModel_WhenBase64StringCannotBeDeserialized_ReturnsNull()
        {
            IContentHelper sut = CreateSut();

            string base64String = Convert.ToBase64String(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString("D")));
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(base64String);

            Assert.IsNull(result);
        }
示例#3
0
        public void ToDashboardSettingsViewModel_WhenByteArrayCannotBeDeserialized_ReturnsNull()
        {
            IContentHelper sut = CreateSut();

            byte[] byteArray = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString("D"));
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(byteArray);

            Assert.IsNull(result);
        }
示例#4
0
        public void ToDashboardSettingsViewModel_WhenByteArrayCanBeDeserialized_AssertCreateProtectorWasCalledOnDataProtectionProviderWithSettingsProtection()
        {
            IContentHelper sut = CreateSut();

            byte[] byteArray = BuildDashboardSettingsViewModelAsByteArray();
            sut.ToDashboardSettingsViewModel(byteArray);

            _dataProtectionProviderMock.Verify(m => m.CreateProtector(It.Is <string>(value => string.CompareOrdinal(value, "SettingsProtection") == 0)), Times.Exactly(2));
        }
示例#5
0
        public void ToDashboardSettingsViewModel_WhenBase64StringIsNotBase64String_ReturnsNull()
        {
            IContentHelper sut = CreateSut();

            string base64String = Guid.NewGuid().ToString("D");
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(base64String);

            Assert.IsNull(result);
        }
示例#6
0
        public void ToDashboardSettingsViewModel_WhenByteArrayCanBeDeserialized_AssertUnprotectWasCalledOnDataProtector()
        {
            IContentHelper sut = CreateSut();

            byte[] byteArray = BuildDashboardSettingsViewModelAsByteArray();
            sut.ToDashboardSettingsViewModel(byteArray);

            _dataProtectorMock.Verify(m => m.Unprotect(It.Is <byte[]>(value => value != null && value.Length > 0)), Times.Once);
        }
示例#7
0
        public void ToDashboardSettingsViewModel_WhenByteArrayCannotBeDeserialized_AssertUnprotectWasCalledOnDataProtector()
        {
            IContentHelper sut = CreateSut();

            byte[] byteArray = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString("D"));
            sut.ToDashboardSettingsViewModel(byteArray);

            _dataProtectorMock.Verify(m => m.Unprotect(It.Is <byte[]>(value => value != null && value.Length > 0)), Times.Once);
        }
示例#8
0
        public void ToDashboardSettingsViewModel_WhenBase64StringCanBeDeserializedAndCryptographicExceptionWasThrown_ReturnsNull()
        {
            CryptographicException exception = new CryptographicException();
            IContentHelper         sut       = CreateSut(exception);

            string base64String = BuildDashboardSettingsViewModelAsBase64String();
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(base64String);

            Assert.IsNull(result);
        }
示例#9
0
        public void ToDashboardSettingsViewModel_WhenByteArrayCanBeDeserializedAndCryptographicExceptionWasThrown_ReturnsNull()
        {
            CryptographicException exception = new CryptographicException();
            IContentHelper         sut       = CreateSut(exception);

            byte[] byteArray = BuildDashboardSettingsViewModelAsByteArray();
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(byteArray);

            Assert.IsNull(result);
        }
示例#10
0
        public void ToDashboardSettingsViewModel_WhenBase64StringCanBeDeserialized_AssertUnprotectWasCalledOnDataProtector()
        {
            IContentHelper sut = CreateSut();

            string base64String = BuildDashboardSettingsViewModelAsBase64String();

            sut.ToDashboardSettingsViewModel(base64String);

            _dataProtectorMock.Verify(m => m.Unprotect(It.Is <byte[]>(value => value != null && string.CompareOrdinal(Convert.ToBase64String(value), base64String) == 0)), Times.Once);
        }
示例#11
0
        public void ToDashboardSettingsViewModel_WhenBase64StringIsNotBase64String_AssertUnprotectWasNotCalledOnDataProtector()
        {
            IContentHelper sut = CreateSut();

            string base64String = Guid.NewGuid().ToString("D");

            sut.ToDashboardSettingsViewModel(base64String);

            _dataProtectorMock.Verify(m => m.Unprotect(It.IsAny <byte[]>()), Times.Never);
        }
示例#12
0
        public void ToDashboardSettingsViewModel_WhenBase64StringIsNotBase64String_AssertCreateProtectorNotWasCalledOnDataProtectionProviderWithSettingsProtection()
        {
            IContentHelper sut = CreateSut();

            string base64String = Guid.NewGuid().ToString("D");

            sut.ToDashboardSettingsViewModel(base64String);

            _dataProtectionProviderMock.Verify(m => m.CreateProtector(It.Is <string>(value => string.CompareOrdinal(value, "SettingsProtection") == 0)), Times.Never);
        }
示例#13
0
        public void ToDashboardSettingsViewModel_WhenBase64StringCanBeDeserialized_ReturnsDashboardSettingsViewModelWithDeserializedExportData()
        {
            IContentHelper sut = CreateSut();

            bool   exportData   = _random.Next(100) > 0;
            string base64String = BuildDashboardSettingsViewModelAsBase64String(exportData: exportData);
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(base64String);

            Assert.IsNotNull(result);
            Assert.AreEqual(exportData, result.ExportData);
        }
示例#14
0
        public void ToDashboardSettingsViewModel_WhenBase64StringCanBeDeserialized_ReturnsDashboardSettingsViewModelWithDeserializedOnlyNsfwContent()
        {
            IContentHelper sut = CreateSut();

            bool   onlyNsfwContent            = _random.Next(100) > 0;
            string base64String               = BuildDashboardSettingsViewModelAsBase64String(onlyNsfwContent: onlyNsfwContent);
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(base64String);

            Assert.IsNotNull(result);
            Assert.AreEqual(onlyNsfwContent, result.OnlyNsfwContent);
        }
示例#15
0
        public void ToDashboardSettingsViewModel_WhenBase64StringCanBeDeserialized_ReturnsDashboardSettingsViewModelWithDeserializedNumberOfNews()
        {
            IContentHelper sut = CreateSut();

            int    numberOfNews = _random.Next(25, 50);
            string base64String = BuildDashboardSettingsViewModelAsBase64String(numberOfNews);
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(base64String);

            Assert.IsNotNull(result);
            Assert.AreEqual(numberOfNews, result.NumberOfNews);
        }
示例#16
0
        public void ToDashboardSettingsViewModel_WhenBase64StringCanBeDeserialized_ReturnsDashboardSettingsViewModelWithDeserializedRedditAccessToken()
        {
            IContentHelper sut = CreateSut();

            string redditAccessToken          = Guid.NewGuid().ToString("D");
            string base64String               = BuildDashboardSettingsViewModelAsBase64String(redditAccessToken: redditAccessToken);
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(base64String);

            Assert.IsNotNull(result);
            Assert.AreEqual(redditAccessToken, result.RedditAccessToken);
        }
示例#17
0
        public async Task <IActionResult> Build(string dashboardSettings)
        {
            if (string.IsNullOrWhiteSpace(dashboardSettings))
            {
                throw new ArgumentNullException(nameof(dashboardSettings));
            }

            DashboardSettingsViewModel dashboardSettingsViewModel = _contentHelper.ToDashboardSettingsViewModel(dashboardSettings);

            if (dashboardSettingsViewModel == null)
            {
                return(BadRequest());
            }

            IDashboard dashboard = await _dashboardFactory.BuildAsync(dashboardSettingsViewModel.ToDashboardSettings());

            DashboardViewModel dashboardViewModel = await _dashboardViewModelBuilder.BuildAsync(dashboard);

            return(PartialView("_MainContentPartial", dashboardViewModel));
        }
示例#18
0
        public void ToDashboardSettingsViewModel_WhenByteArrayCanBeDeserialized_ReturnsDashboardSettingsViewModelWithDeserializedIncludeNsfwContent()
        {
            IContentHelper sut = CreateSut();

            bool includeNsfwContent = _random.Next(100) > 0;

            byte[] byteArray = BuildDashboardSettingsViewModelAsByteArray(includeNsfwContent: includeNsfwContent);
            DashboardSettingsViewModel result = sut.ToDashboardSettingsViewModel(byteArray);

            Assert.IsNotNull(result);
            Assert.AreEqual(includeNsfwContent, result.IncludeNsfwContent);
        }
示例#19
0
 public DashboardSettingsViewModel ToDashboardSettingsViewModel()
 {
     return(RestoreFromCookie <DashboardSettingsViewModel>(DashboardSettingsViewModel.CookieName, cookieValue => _contentHelper.ToDashboardSettingsViewModel(cookieValue)));
 }
示例#20
0
        public void ToDashboardSettingsViewModel_WhenBase64StringIsWhiteSpaces_ThrowsArgumentNullException()
        {
            IContentHelper sut = CreateSut();

            sut.ToDashboardSettingsViewModel("  ");
        }
示例#21
0
        public void ToDashboardSettingsViewModel_WhenBase64StringIsEmpty_ThrowsArgumentNullException()
        {
            IContentHelper sut = CreateSut();

            sut.ToDashboardSettingsViewModel(string.Empty);
        }
示例#22
0
        public void ToDashboardSettingsViewModel_WhenByteArrayIsNull_ThrowsArgumentNullException()
        {
            IContentHelper sut = CreateSut();

            sut.ToDashboardSettingsViewModel((byte[])null);
        }