Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }