public void Setup() { _cardPath = DatacardUtility.WriteDatacard("TestDatacard_V1"); _tempPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var versionInfo = new AdmVersionInfo { PluginVersion = _currentVersion, SerializationVersion = SerializationVersionEnum.V1 }; var versionInfoFileName = Path.Combine(_cardPath, DatacardConstants.DataFolder, DatacardConstants.VersionFile); _versionInfoSerializerMock = new Mock <IVersionInfoSerializer>(); _versionInfoSerializerMock.Setup(x => x.Deserialize(versionInfoFileName)).Returns(versionInfo); _admSerializerMock = new Mock <IAdmSerializer>(); _admSerializerMock.Setup(x => x.VersionSerializer).Returns(_versionInfoSerializerMock.Object); }
public void GivenCardPathWhenIsSupportedThenTrueIfNoPluginVersion() { var versionInfo = new AdmVersionInfo { PluginVersion = null, SerializationVersion = SerializationVersionEnum.V1 }; var expectedFilename = Path.Combine(_cardPath, DatacardConstants.DataFolder, DatacardConstants.VersionFile); _versionInfoSerializerMock.Setup(x => x.Deserialize(It.IsAny <string>())).Returns(versionInfo); var plugin = new Plugin(_admSerializerMock.Object); var result = plugin.IsDataCardSupported(_cardPath); Assert.That(result, Is.True); }
public void GivenFilenameWhenDeserialzieThenCorrectVersionInfo() { var versionInfo = new AdmVersionInfo { PluginVersion = new Version("1.2.3.4"), SerializationVersion = SerializationVersionEnum.V1 }; Directory.CreateDirectory(_tempPath); File.WriteAllText(Path.Combine(_tempPath, DatacardConstants.VersionFile), JsonConvert.SerializeObject(versionInfo)); var serializer = new VersionInfoSerializer(); var result = serializer.Deserialize(_tempPath); Assert.That(result.PluginVersion, Is.EqualTo(versionInfo.PluginVersion)); Assert.That(result.SerializationVersion, Is.EqualTo(versionInfo.SerializationVersion)); }
public void GivenCardPathWithV2VersionInfoWhenDeserializeThenV2DeserializationHappens() { var dataPath = Path.Combine(_tempPath, DatacardConstants.DataFolder); var versionInfo = new AdmVersionInfo { SerializationVersion = SerializationVersionEnum.V2 }; _versionSerializerMock.Setup(x => x.Deserialize(dataPath)).Returns(versionInfo); var admSerializer = new AdmSerializer(_versionSerializerMock.Object, _propriataryValuesSerializerMock.Object, _catalogSearializerMock.Object, _documentsSerializerMock.Object, _referenceLayersSerializerMock.Object, SerializationVersionEnum.V2); admSerializer.Deserialize(_tempPath); _propriataryValuesSerializerMock.Verify(x => x.Deserialize(BaseProtobufSerializer.InstanceV2, dataPath)); _catalogSearializerMock.Verify(x => x.Deserialize(BaseProtobufSerializer.InstanceV2, dataPath)); _documentsSerializerMock.Verify(x => x.Deserialize(BaseProtobufSerializer.InstanceV2, dataPath)); _referenceLayersSerializerMock.Verify(x => x.Deserialize(BaseProtobufSerializer.InstanceV2, dataPath)); }
public void Serialize(SerializationVersionEnum serializationVersion, string dataPath) { if (!Directory.Exists(dataPath)) { Directory.CreateDirectory(dataPath); } var version = Assembly.GetExecutingAssembly().GetName().Version; var versionModel = new AdmVersionInfo() { PluginVersion = version, SerializationVersion = serializationVersion }; var versionModelString = JsonConvert.SerializeObject(versionModel); File.WriteAllText(Path.Combine(dataPath, DatacardConstants.VersionFile), versionModelString); }
public void GivenCardPathWhenIsSupportedThenFalseIfDataMajorVersionGreater() { var pluginVersion = typeof(Plugin).Assembly.GetName().Version; var dataVersion = new Version(pluginVersion.Major + 1, pluginVersion.Minor); var versionInfo = new AdmVersionInfo { PluginVersion = dataVersion, SerializationVersion = SerializationVersionEnum.V1 }; var expectedFilename = Path.Combine(_cardPath, DatacardConstants.DataFolder, DatacardConstants.VersionFile); _versionInfoSerializerMock.Setup(x => x.Deserialize(It.IsAny <string>())).Returns(versionInfo); var plugin = new Plugin(_admSerializerMock.Object); var result = plugin.IsDataCardSupported(_cardPath); Assert.That(result, Is.False); }