@@ -36,6 +36,13 @@ public void ObjectsHaveDefaultStateIfNotRefreshed()
3636 Assert . False ( symbolsConfiguration . IsSymbolsUploadEnabledForAll ) ;
3737 Assert . Empty ( symbolsConfiguration . AlwaysEnabledForDomains ) ;
3838 Assert . Empty ( symbolsConfiguration . AlwaysEnabledForEmailAddresses ) ;
39+
40+ var typosquattingConfiguration = service . TyposquattingConfiguration as TyposquattingConfiguration ;
41+
42+ Assert . Equal ( TyposquattingConfiguration . DefaultPackageIdCheckListLength , typosquattingConfiguration . PackageIdChecklistLength ) ;
43+ Assert . False ( typosquattingConfiguration . IsCheckEnabled ) ;
44+ Assert . False ( typosquattingConfiguration . IsBlockUsersEnabled ) ;
45+ Assert . Equal ( TyposquattingConfiguration . DefaultPackageIdChecklistCacheExpireTimeInHours , typosquattingConfiguration . PackageIdChecklistCacheExpireTimeInHours ) ;
3946 }
4047
4148 [ Fact ]
@@ -55,6 +62,9 @@ public async Task RefreshRefreshesObject()
5562 var alwaysEnabledForDomains = new [ ] { "a" } ;
5663 var alwaysEnabledForEmailAddresses = new [ ] { "b" } ;
5764
65+ var packageIdChecklistLength = 20000 ;
66+ var packageIdChecklistCacheExpireTimeInHours = 12.0 ;
67+
5868 var certificatesConfiguration = new CertificatesConfiguration (
5969 isUIEnabledByDefault ,
6070 alwaysEnabledForDomains ,
@@ -67,6 +77,13 @@ public async Task RefreshRefreshesObject()
6777 alwaysEnabledForEmailAddresses : alwaysEnabledForEmailAddresses ) ;
6878 var symbolsJson = JsonConvert . SerializeObject ( symbolsConfiguration ) ;
6979
80+ var typosquattingConfiguration = new TyposquattingConfiguration (
81+ packageIdChecklistLength : packageIdChecklistLength ,
82+ isCheckEnabled : true ,
83+ isBlockUsersEnabled : true ,
84+ packageIdChecklistCacheExpireTimeInHours : packageIdChecklistCacheExpireTimeInHours ) ;
85+ var typosquattingJson = JsonConvert . SerializeObject ( typosquattingConfiguration ) ;
86+
7087 var contentService = GetMock < IContentService > ( ) ;
7188
7289 contentService
@@ -81,6 +98,10 @@ public async Task RefreshRefreshesObject()
8198 . Setup ( x => x . GetContentItemAsync ( GalleryConstants . ContentNames . SymbolsConfiguration , It . IsAny < TimeSpan > ( ) ) )
8299 . Returns ( Task . FromResult < IHtmlString > ( new HtmlString ( symbolsJson ) ) ) ;
83100
101+ contentService
102+ . Setup ( x => x . GetContentItemAsync ( GalleryConstants . ContentNames . TyposquattingConfiguration , It . IsAny < TimeSpan > ( ) ) )
103+ . Returns ( Task . FromResult < IHtmlString > ( new HtmlString ( typosquattingJson ) ) ) ;
104+
84105 var service = GetService < ContentObjectService > ( ) ;
85106
86107 // Act
@@ -89,6 +110,7 @@ public async Task RefreshRefreshesObject()
89110 loginDiscontinuationConfiguration = service . LoginDiscontinuationConfiguration as LoginDiscontinuationConfiguration ;
90111 certificatesConfiguration = service . CertificatesConfiguration as CertificatesConfiguration ;
91112 symbolsConfiguration = service . SymbolsConfiguration as SymbolsConfiguration ;
113+ typosquattingConfiguration = service . TyposquattingConfiguration as TyposquattingConfiguration ;
92114
93115 // Assert
94116 Assert . True ( loginDiscontinuationConfiguration . DiscontinuedForEmailAddresses . SequenceEqual ( emails ) ) ;
@@ -103,6 +125,11 @@ public async Task RefreshRefreshesObject()
103125 Assert . True ( symbolsConfiguration . IsSymbolsUploadEnabledForAll ) ;
104126 Assert . Equal ( alwaysEnabledForDomains , symbolsConfiguration . AlwaysEnabledForDomains ) ;
105127 Assert . Equal ( alwaysEnabledForEmailAddresses , symbolsConfiguration . AlwaysEnabledForEmailAddresses ) ;
128+
129+ Assert . Equal ( packageIdChecklistLength , typosquattingConfiguration . PackageIdChecklistLength ) ;
130+ Assert . True ( typosquattingConfiguration . IsCheckEnabled ) ;
131+ Assert . True ( typosquattingConfiguration . IsBlockUsersEnabled ) ;
132+ Assert . Equal ( packageIdChecklistCacheExpireTimeInHours , typosquattingConfiguration . PackageIdChecklistCacheExpireTimeInHours ) ;
106133 }
107134 }
108135 }
0 commit comments