Ejemplo n.º 1
0
        public void AuditingSettingsData_Set_Get_LoggingDataSource()
        {
            var dependency = new Depends(Depends.ContainerType.AnonymousElasticsearch);
            var hostName   = "http://" + dependency.Container.IP;

            var source = new ElasticsearchSource
            {
                AuthenticationType = AuthenticationType.Anonymous,
                Port        = dependency.Container.Port,
                HostName    = hostName,
                SearchIndex = "warewolflogstests"
            };
            var serializer = new Dev2JsonSerializer();
            var jsonSource = serializer.Serialize(source);
            var expectedAuditingSettingsData = new AuditingSettingsData
            {
                Endpoint          = "ws://127.0.0.1:5000/ws",
                EncryptDataSource = true,
                LoggingDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Data Source",
                    Value   = Guid.Empty,
                    Payload = jsonSource
                },
            };
            IDeserializer deserializer = new JsonSerializer();
            var           bytes        = UTF8Encoding.UTF8.GetBytes(expectedAuditingSettingsData.LoggingDataSource.Payload);
            var           result       = deserializer.Deserialize <ElasticsearchSource>(bytes);

            Assert.AreEqual(expectedAuditingSettingsData.LoggingDataSource.Value, Guid.Empty);
            Assert.AreEqual(expectedAuditingSettingsData.LoggingDataSource.Name, "Data Source");
            Assert.AreEqual(source, result);
        }
Ejemplo n.º 2
0
        static LogSettingsViewModel CreateLogSettingViewModel()
        {
            XmlConfigurator.ConfigureAndWatch(new FileInfo("Settings.config"));
            var loggingSettingsTo = new LoggingSettingsTo {
                FileLoggerLogSize = 50, FileLoggerLogLevel = "TRACE"
            };

            var _resourceRepo = new Mock <IResourceRepository>();
            var env           = new Mock <IServer>();
            var expectedServerSettingsData = new ServerSettingsData
            {
                ExecutionLogLevel = LogLevel.DEBUG.ToString(),
                Sink = "AuditingSettingsData"
            };

            _resourceRepo.Setup(res => res.GetServerSettings(env.Object)).Returns(expectedServerSettingsData);
            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 jsonSource           = JsonConvert.SerializeObject(elasticsearchSource);
            var auditingSettingsData = new AuditingSettingsData
            {
                Endpoint          = "ws://127.0.0.1:5000/ws",
                EncryptDataSource = true,
                LoggingDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Auditing Data Source",
                    Value   = Guid.Empty,
                    Payload = jsonSource
                },
            };

            _resourceRepo.Setup(res => res.GetAuditingSettings <AuditingSettingsData>(env.Object)).Returns(auditingSettingsData);
            var selectedAuditingSourceId = Guid.NewGuid();
            var mockAuditingSource       = new Mock <IResource>();

            mockAuditingSource.Setup(source => source.ResourceID).Returns(selectedAuditingSourceId);
            var auditingSources = new Mock <IResource>();
            var expectedList    = new List <IResource>
            {
                mockAuditingSource.Object, auditingSources.Object
            };

            _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);
        }
Ejemplo n.º 3
0
        public void AuditingSettingsData_Equals_ExpectFalse()
        {
            var data1 = new AuditingSettingsData();

            data1.LoggingDataSource.Payload = "foo";
            data1.EncryptDataSource         = true;
            var data2 = new AuditingSettingsData();

            data2.LoggingDataSource.Payload = "foo2";
            data2.EncryptDataSource         = false;
            Assert.IsFalse(data1.Equals(data2));
        }
Ejemplo n.º 4
0
        public void AuditSettingsData_Equals_ExpectFalse()
        {
            var data1 = new AuditingSettingsData();

            data1.LoggingDataSource.Payload = "foo";
            var data2 = new AuditingSettingsData();

            data2.LoggingDataSource.Payload = "foo2";

            Assert.IsFalse(data1.Equals(data2));
            //Assert.IsTrue(data1.Equals(data2));
        }
Ejemplo n.º 5
0
        public void AuditSettingsData_Clone_ExpectUnique()
        {
            var data1 = new AuditingSettingsData();

            data1.LoggingDataSource.Payload = "foo";
            var data2 = data1.Clone();

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

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

            data1.LoggingDataSource.Payload = "foo2";

            Assert.IsFalse(data1.Equals(data2));
        }
        public void SaveAuditingSettings_Execute_AuditingSettingsData()
        {
            //------------Setup for test--------------------------
            var serializer    = new Dev2JsonSerializer();
            var workspaceMock = new Mock <IWorkspace>();
            var settingsData  = new AuditingSettingsData()
            {
                LoggingDataSource = new NamedGuidWithEncryptedPayload(),
            };
            var requestArgs = new Dictionary <string, StringBuilder>();

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

            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);
        }
Ejemplo n.º 7
0
        private static ILoggerContext ConstructLoggerContext(IArgs args, out ElasticsearchSource elasticsearchSource)
        {
            var mockArgs = new Mock <IArgs>();

            mockArgs.Setup(o => o.ServerEndpoint).Returns(args.ServerEndpoint);
            mockArgs.Setup(o => o.Verbose).Returns(args.Verbose);
            var dependency = new Depends(Depends.ContainerType.AnonymousElasticsearch);
            var hostName   = "http://" + dependency.Container.IP;

            elasticsearchSource = new ElasticsearchSource
            {
                ResourceID         = Guid.Empty,
                ResourceType       = "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 data             = new AuditingSettingsData
            {
                EncryptDataSource = true,
                LoggingDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Testing Elastic Data Source",
                    Value   = Guid.Empty,
                    Payload = encryptedPayload
                }
            };

            Config.Auditing.LoggingDataSource = data.LoggingDataSource;
            Config.Auditing.EncryptDataSource = data.EncryptDataSource;
            Config.Server.Sink = nameof(AuditingSettingsData);
            return(new LoggerContext(mockArgs.Object));
        }
Ejemplo n.º 8
0
        public bool Equals(AuditingSettingsData other)
        {
            var equals = Endpoint == other.Endpoint;

            return(equals);
        }
Ejemplo n.º 9
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);
        }