public void PersistenceSettingsData_Clone_Success()
        {
            var data1 = new PersistenceSettingsData
            {
                PersistenceScheduler = "Hangfire",
                Enable = true,
                PersistenceDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Data Source",
                    Value   = Guid.Empty,
                    Payload = "foo1"
                },
                EncryptDataSource        = true,
                DashboardHostname        = "DashboardHostname",
                DashboardName            = "Dashboardname",
                DashboardPort            = "5001",
                PrepareSchemaIfNecessary = true,
                ServerName = "servername"
            };

            var data2 = data1.Clone();

            Assert.AreNotEqual(data1.GetHashCode(), data2.GetHashCode());
            Assert.IsFalse(ReferenceEquals(data1, data2));
            Assert.IsFalse(ReferenceEquals(data1.PersistenceDataSource, data2.PersistenceDataSource));

            Assert.IsTrue(data1.Equals(data2));
            data1.PersistenceDataSource.Payload = "foo2";
            Assert.IsFalse(data1.Equals(data2));
        }
Beispiel #2
0
        public void SavePersistenceSettings_Execute()
        {
            //------------Setup for test--------------------------
            var serializer    = new Dev2JsonSerializer();
            var workspaceMock = new Mock <IWorkspace>();
            var settingsData  = new PersistenceSettingsData
            {
                PersistenceScheduler = "Hangfire",
                Enable = true,
                PersistenceDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Data Source",
                    Value   = Guid.Empty,
                    Payload = "foo"
                },
                EncryptDataSource        = true,
                DashboardHostname        = "DashboardHostname",
                DashboardName            = "Dashboardname",
                DashboardPort            = "5001",
                PrepareSchemaIfNecessary = true,
                ServerName = "servername"
            };
            var requestArgs = new Dictionary <string, StringBuilder>();

            requestArgs.Add("PersistenceSettings", new StringBuilder(serializer.SerializeToBuilder(settingsData).ToString()));

            var savePersistenceSettings = new SavePersistenceSettings();
            //------------Execute Test---------------------------
            var jsonResult = savePersistenceSettings.Execute(requestArgs, workspaceMock.Object);
            var result     = serializer.Deserialize <ExecuteMessage>(jsonResult);

            //------------Assert Results-------------------------
            Assert.IsFalse(result.HasError);
        }
        public void PersistenceSettings_Equals_ExpectFalse()
        {
            var data1 = new PersistenceSettingsData();

            data1.PersistenceScheduler          = "Hangfire";
            data1.PersistenceDataSource.Payload = "foo";
            data1.EncryptDataSource             = true;
            data1.DashboardHostname             = "DashboardHostname";
            data1.DashboardName            = "Dashboardname";
            data1.DashboardPort            = "5001";
            data1.PrepareSchemaIfNecessary = true;
            data1.ServerName = "servername";

            var data2 = new PersistenceSettingsData();

            data2.PersistenceScheduler          = "Hangfire";
            data2.PersistenceDataSource.Payload = "foo2";
            data2.EncryptDataSource             = false;
            data2.DashboardHostname             = "DashboardHostname";
            data2.DashboardName            = "Dashboardname";
            data2.DashboardPort            = "5001";
            data2.PrepareSchemaIfNecessary = true;
            data2.ServerName = "servername";
            Assert.IsFalse(data1.Equals(data2));
        }
Beispiel #4
0
        private static Mock <IServer> CreateMockServer(Mock <IResourceRepository> resourceRepo = null, bool addSettings = true)
        {
            var mockServer = new Mock <IServer>();

            if (resourceRepo is null)
            {
                resourceRepo = new Mock <IResourceRepository>();
            }
            var selectedDbSourceId = Guid.NewGuid();
            var settingsData       = new PersistenceSettingsData();

            if (addSettings)
            {
                settingsData = new PersistenceSettingsData
                {
                    PersistenceScheduler = "Hangfire",
                    Enable = true,
                    PersistenceDataSource = new NamedGuidWithEncryptedPayload
                    {
                        Name    = "Data Source",
                        Value   = selectedDbSourceId,
                        Payload = "foo"
                    },
                    EncryptDataSource        = true,
                    DashboardHostname        = "DashboardHostname",
                    DashboardName            = "Dashboardname",
                    DashboardPort            = "5001",
                    PrepareSchemaIfNecessary = true,
                    ServerName = "servername"
                };
            }

            resourceRepo.Setup(res => res.GetPersistenceSettings <PersistenceSettingsData>(mockServer.Object)).Returns(settingsData);
            resourceRepo.Setup(res => res.SavePersistenceSettings(mockServer.Object, settingsData)).Verifiable();

            IResource mockPersistenceSource = new DbSource()
            {
                ResourceID   = selectedDbSourceId,
                ResourceName = "Persistence Data Source"
            };
            var expectedList = new List <IResource> {
                mockPersistenceSource
            };

            resourceRepo.Setup(resourceRepository => resourceRepository.FindResourcesByType <IPersistenceSource>(mockServer.Object)).Returns(expectedList);
            mockServer.Setup(a => a.ResourceRepository).Returns(resourceRepo.Object);
            return(mockServer);
        }
        public void PersistenceSettings_Set_Get_PersistenceDataSource()
        {
            var expectedHangfireSettingsData = new PersistenceSettingsData
            {
                EncryptDataSource     = true,
                PersistenceDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Data Source",
                    Value   = Guid.Empty,
                    Payload = "foo"
                },
            };

            Assert.AreEqual(expectedHangfireSettingsData.PersistenceDataSource.Value, Guid.Empty);
            Assert.AreEqual(expectedHangfireSettingsData.PersistenceDataSource.Name, "Data Source");
            Assert.AreEqual(expectedHangfireSettingsData.PersistenceDataSource.Payload, "foo");
        }
        public void PersistenceSettingsData_Clone_Failure()
        {
            var data1 = new PersistenceSettingsData
            {
                PersistenceScheduler = "Hangfire",
                Enable = true,
                PersistenceDataSource    = null,
                EncryptDataSource        = true,
                DashboardHostname        = "DashboardHostname",
                DashboardName            = "Dashboardname",
                DashboardPort            = "5001",
                PrepareSchemaIfNecessary = true,
                ServerName = "servername"
            };

            data1.Clone();
        }
        static PersistenceSettingsViewModel CreatePersistenceSettingsViewModel()
        {
            var resourceRepo = new Mock <IResourceRepository>();
            var env          = new Mock <IServer>();
            var selectedPersistedDataSourceId = Guid.NewGuid();
            var persistenceSettingsData       = new PersistenceSettingsData()
            {
                EncryptDataSource        = true,
                Enable                   = true,
                PrepareSchemaIfNecessary = true,
                ServerName               = "servername",
                DashboardHostname        = "DashboardHostname",
                DashboardName            = "Dashboardname",
                DashboardPort            = "5001",
                PersistenceDataSource    = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Persistence Data Source",
                    Value   = selectedPersistedDataSourceId,
                    Payload = "jsonSource"
                }
            };

            resourceRepo.Setup(res => res.GetPersistenceSettings <PersistenceSettingsData>(env.Object)).Returns(persistenceSettingsData);

            var mockPersistenceDataSource = new Mock <IResource>();

            mockPersistenceDataSource.Setup(source => source.ResourceID).Returns(selectedPersistedDataSourceId);
            var persistenceDataSources = new Mock <IResource>();
            var expectedList           = new List <IResource>
            {
                mockPersistenceDataSource.Object, persistenceDataSources.Object
            };

            resourceRepo.Setup(resourceRepository => resourceRepository.FindResourcesByType <IPersistenceSource>(env.Object)).Returns(expectedList);
            env.Setup(a => a.ResourceRepository).Returns(resourceRepo.Object);
            var persistenceSettingsViewModel = new PersistenceSettingsViewModel(env.Object);

            return(persistenceSettingsViewModel);
        }
        public void PersistenceSettings_Equals_ExpectTrue()
        {
            var data1 = new PersistenceSettingsData
            {
                PersistenceScheduler = "Hangfire",
                Enable = true,
                PersistenceDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Data Source",
                    Value   = Guid.Empty,
                    Payload = "foo"
                },
                EncryptDataSource        = true,
                DashboardHostname        = "DashboardHostname",
                DashboardName            = "Dashboardname",
                DashboardPort            = "5001",
                PrepareSchemaIfNecessary = true,
                ServerName = "servername"
            };
            var data2 = new PersistenceSettingsData
            {
                PersistenceScheduler = "Hangfire",
                Enable = true,
                PersistenceDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Data Source",
                    Value   = Guid.Empty,
                    Payload = "foo"
                },
                EncryptDataSource        = true,
                DashboardHostname        = "DashboardHostname",
                DashboardName            = "Dashboardname",
                DashboardPort            = "5001",
                PrepareSchemaIfNecessary = true,
                ServerName = "servername"
            };

            Assert.IsTrue(data1.Equals(data2));
        }