@@ -30,9 +30,10 @@ public class ServerPackageStoreTest
3030 [ InlineData ( "[{\" foo\" : \" bar\" }]" ) ]
3131 [ InlineData ( "{\" SchemaVersion\" :null,\" Packages\" :[]}" ) ]
3232 [ InlineData ( "{\" SchemaVersion\" :\" 1.0.0\" ,\" Packages\" :null}" ) ]
33- [ InlineData ( "{\" SchemaVersion\" :\" 3.0.0\" ,\" Packages\" :[]}" ) ]
33+ [ InlineData ( "{\" SchemaVersion\" :\" 2.0.0\" ,\" Packages\" :null}" ) ]
34+ [ InlineData ( "{\" SchemaVersion\" :\" 4.0.0\" ,\" Packages\" :[]}" ) ]
3435 [ InlineData ( "{\" Packages\" :[]}" ) ]
35- [ InlineData ( "{\" SchemaVersion\" :\" 2 .0.0\" }" ) ]
36+ [ InlineData ( "{\" SchemaVersion\" :\" 3 .0.0\" }" ) ]
3637 public void Constructor_IgnoresAndDeletesInvalidCacheFile ( string content )
3738 {
3839 // Arrange
@@ -53,8 +54,8 @@ public void Constructor_IgnoresAndDeletesInvalidCacheFile(string content)
5354 }
5455
5556 [ Theory ]
56- [ InlineData ( "{\" SchemaVersion\" :\" 2 .0.0\" ,\" Packages\" :[]}" , 0 ) ]
57- [ InlineData ( "{\" SchemaVersion\" :\" 2 .0.0\" ,\" Packages\" :[{\" Id\" :\" " + PackageId + "\" ,\" Version\" :\" " + PackageVersionString + "\" }]}" , 1 ) ]
57+ [ InlineData ( "{\" SchemaVersion\" :\" 3 .0.0\" ,\" Packages\" :[]}" , 0 ) ]
58+ [ InlineData ( "{\" SchemaVersion\" :\" 3 .0.0\" ,\" Packages\" :[{\" Id\" :\" " + PackageId + "\" ,\" Version\" :\" " + PackageVersionString + "\" }]}" , 1 ) ]
5859 public void Constructor_LeavesValidCacheFile ( string content , int count )
5960 {
6061 // Arrange
@@ -78,7 +79,7 @@ public void Constructor_LeavesValidCacheFile(string content, int count)
7879 public void Constructor_DeserializesSemVer2Version ( )
7980 {
8081 // Arrange
81- var cacheFile = "{\" SchemaVersion\" :\" 2 .0.0\" ,\" Packages\" :[{\" Id\" :\" " + PackageId + "\" ,\" Version\" :\" " + SemVer2VersionString + "\" }]}" ;
82+ var cacheFile = "{\" SchemaVersion\" :\" 3 .0.0\" ,\" Packages\" :[{\" Id\" :\" " + PackageId + "\" ,\" Version\" :\" " + SemVer2VersionString + "\" }]}" ;
8283 var fileSystem = new Mock < IFileSystem > ( ) ;
8384 fileSystem
8485 . Setup ( x => x . FileExists ( CacheFileName ) )
@@ -98,6 +99,30 @@ public void Constructor_DeserializesSemVer2Version()
9899 Assert . Equal ( SemVer2Version . ToNormalizedString ( ) , package . Version . ToNormalizedString ( ) ) ;
99100 }
100101
102+ [ Theory ]
103+ [ InlineData ( "true" , true ) ]
104+ [ InlineData ( "false" , false ) ]
105+ public void Constructor_DeserializesIsSemVer2 ( string serialized , bool expected )
106+ {
107+ // Arrange
108+ var cacheFile = "{\" SchemaVersion\" :\" 3.0.0\" ,\" Packages\" :[{\" Id\" :\" " + PackageId + "\" ,\" Version\" :\" " + SemVer2VersionString + "\" ,\" IsSemVer2\" :" + serialized + "}]}" ;
109+ var fileSystem = new Mock < IFileSystem > ( ) ;
110+ fileSystem
111+ . Setup ( x => x . FileExists ( CacheFileName ) )
112+ . Returns ( true ) ;
113+ fileSystem
114+ . Setup ( x => x . OpenFile ( CacheFileName ) )
115+ . Returns ( ( ) => new MemoryStream ( Encoding . UTF8 . GetBytes ( cacheFile ) ) ) ;
116+
117+ // Act
118+ var actual = new ServerPackageStore ( fileSystem . Object , CacheFileName ) ;
119+
120+ // Assert
121+ Assert . Equal ( 1 , actual . GetAll ( ) . Count ( ) ) ;
122+ var package = actual . GetAll ( ) . First ( ) ;
123+ Assert . Equal ( expected , package . IsSemVer2 ) ;
124+ }
125+
101126 [ Fact ]
102127 public void Persist_RetainsSemVer2Version ( )
103128 {
0 commit comments