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); }
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); }
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)); }
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)); }
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); }
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)); }
public bool Equals(AuditingSettingsData other) { var equals = Endpoint == other.Endpoint; return(equals); }
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); }