示例#1
0
        public void LegacySettingsData_Equals_Valid_Expected()
        {
            var expectedSettingsData = new LegacySettingsData
            {
                Endpoint      = "ws://127.0.0.1:5000/ws",
                AuditFilePath = @"C:\ProgramData\Warewolf\Audits"
            };

            var settingsData = new LegacySettingsData()
            {
                Endpoint      = "ws://127.0.0.1:5000/ws",
                AuditFilePath = @"C:\ProgramData\Warewolf\Audits"
            };

            Assert.IsTrue(settingsData.Equals(expectedSettingsData));
        }
示例#2
0
        public void SaveAuditingSettings_Execute_LegacySettingsData()
        {
            //------------Setup for test--------------------------
            var serializer    = new Dev2JsonSerializer();
            var workspaceMock = new Mock <IWorkspace>();
            var settingsData  = new LegacySettingsData()
            {
                AuditFilePath = @"C:\ProgramData\Warewolf\Audits",
            };
            var requestArgs = new Dictionary <string, StringBuilder>();

            requestArgs.Add("AuditingSettings", new StringBuilder(serializer.SerializeToBuilder(settingsData).ToString()));
            requestArgs.Add("SinkType", new StringBuilder("LegacySettingsData"));

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

            //------------Assert Results-------------------------
            Assert.IsFalse(result.HasError);
        }
示例#3
0
        static LogSettingsViewModel CreateLogSettingViewModel(string sink, Mock <IResourceRepository> _resourceRepo = null)
        {
            XmlConfigurator.ConfigureAndWatch(new FileInfo("Settings.config"));
            var loggingSettingsTo = new LoggingSettingsTo {
                FileLoggerLogSize = 50, FileLoggerLogLevel = "TRACE", EventLogLoggerLogLevel = "DEBUG"
            };

            var env = new Mock <IServer>();

            if (_resourceRepo is null)
            {
                _resourceRepo = new Mock <IResourceRepository>();
            }

            var expectedServerSettingsData = new ServerSettingsData
            {
                Sink = sink,
                ExecutionLogLevel = LogLevel.DEBUG.ToString()
            };

            _resourceRepo.Setup(res => res.GetServerSettings(env.Object)).Returns(expectedServerSettingsData);
            var selectedAuditingSourceId = Guid.NewGuid();

            if (sink == "LegacySettingsData")
            {
                var legacySettingsData = new LegacySettingsData()
                {
                    AuditFilePath = "somePath"
                };
                _resourceRepo.Setup(res => res.GetAuditingSettings <LegacySettingsData>(env.Object)).Returns(legacySettingsData);
                _resourceRepo.Setup(res => res.SaveAuditingSettings(env.Object, legacySettingsData)).Verifiable();
            }
            else
            {
                var dependency          = new Depends(Depends.ContainerType.AnonymousElasticsearch);
                var hostName            = "http://" + dependency.Container.IP;
                var elasticsearchSource = new ElasticsearchSource
                {
                    AuthenticationType = AuthenticationType.Anonymous,
                    Port        = dependency.Container.Port,
                    HostName    = hostName,
                    SearchIndex = "warewolflogstests"
                };
                var serializer           = new Dev2JsonSerializer();
                var payload              = serializer.Serialize(elasticsearchSource);
                var encryptedPayload     = DpapiWrapper.Encrypt(payload);
                var auditingSettingsData = new AuditingSettingsData
                {
                    Endpoint          = "ws://127.0.0.1:5000/ws",
                    EncryptDataSource = true,
                    LoggingDataSource = new NamedGuidWithEncryptedPayload
                    {
                        Name    = "Auditing Data Source",
                        Value   = selectedAuditingSourceId,
                        Payload = encryptedPayload
                    },
                };
                _resourceRepo.Setup(res => res.GetAuditingSettings <AuditingSettingsData>(env.Object)).Returns(auditingSettingsData);
                _resourceRepo.Setup(res => res.SaveAuditingSettings(env.Object, auditingSettingsData)).Verifiable();
            }

            IResource mockAuditingSource = new ElasticsearchSource
            {
                ResourceID   = selectedAuditingSourceId,
                ResourceName = "Auditing Data Source"
            };
            var expectedList = new List <IResource>();

            expectedList.Add(mockAuditingSource);

            _resourceRepo.Setup(resourceRepository => resourceRepository.FindResourcesByType <IAuditingSource>(env.Object)).Returns(expectedList);

            env.Setup(a => a.ResourceRepository).Returns(_resourceRepo.Object);
            var logSettingsViewModel = new LogSettingsViewModel(loggingSettingsTo, env.Object);

            return(logSettingsViewModel);
        }