public void Encryption_Decryption() { FileCredentialRepository fileCredentialRepository; EncryptedCredential encryptedCredential; const string filePath = "foo.json"; const string userName = "******"; const string password = "******"; string decryptedUserName; string decryptedPassword; try { fileCredentialRepository = new FileCredentialRepository(filePath); encryptedCredential = fileCredentialRepository.Encrypt(userName, password); encryptedCredential.AssertValid(); Assert.That(encryptedCredential, Has.Property("UserName").Not.EqualTo(userName)); Assert.That(encryptedCredential, Has.Property("Password").Not.EqualTo(password)); fileCredentialRepository.Decrypt(encryptedCredential, out decryptedUserName, out decryptedPassword); Assert.That(decryptedUserName, Is.EqualTo(userName)); Assert.That(decryptedPassword, Is.EqualTo(password)); } finally { if (File.Exists(filePath)) { File.Delete(filePath); } } }
public void Ctor() { FileCredentialRepository fileCredentialRepository; const string filePath = "foo.json"; fileCredentialRepository = new FileCredentialRepository(filePath); Assert.That( fileCredentialRepository, Has.Property("FilePath").EqualTo(filePath)); Assert.That( fileCredentialRepository, Has.Property("Scope").EqualTo(DataProtectionScope.CurrentUser)); }
public void Save_Two_Servers_Load() { FileCredentialRepository fileCredentialRepository; const string filePath = "foo.json"; const string server1 = "server"; const string userName1 = "userName"; const string password1 = "password"; const string server2 = "server2"; const string userName2 = "userName2"; const string password2 = "password2"; string loadedUserName; string loadedPassword; try { DeleteFile(filePath); fileCredentialRepository = new FileCredentialRepository(filePath); Assert.That(fileCredentialRepository.Contains(server1), Is.False, "No existing credentials for 1"); Assert.That(fileCredentialRepository.Contains(server2), Is.False, "No existing credentials for 2"); fileCredentialRepository.Save(server1, userName1, password1); Assert.That(fileCredentialRepository.Contains(server1), Is.True, "Credentials not saved after Save for 1"); Assert.That(fileCredentialRepository.Contains(server2), Is.False, "Credentials saved after Save for 1 only"); fileCredentialRepository.Save(server2, userName2, password2); Assert.That(fileCredentialRepository.Contains(server1), Is.True, "Credentials not saved after Save for 1 and 2"); Assert.That(fileCredentialRepository.Contains(server2), Is.True, "Credentials not saved after Save for 2 and 2"); fileCredentialRepository.Load(server1, out loadedUserName, out loadedPassword); Assert.That(fileCredentialRepository.Contains(server1), Is.True, "Credentials not saved after load"); Assert.That(loadedUserName, Is.EqualTo(userName1)); Assert.That(loadedPassword, Is.EqualTo(password1)); } finally { DeleteFile(filePath); } }
/// <summary> /// Entry point. /// </summary> /// <param name="args"> /// Command line args. /// </param> /// <returns> /// Program return value. /// </returns> private static int Main(string[] args) { int result = ExitFailure; ICredentialRepository credentialRepository = new FileCredentialRepository(); try { Parser.Default .ParseArguments <NotFalsePositiveReportOptions, RawScanResultXmlOptions, SaveCredentialsOptions, RawScanResultCsvOptions>(args) .WithParsed <NotFalsePositiveReportOptions>(options => { result = RunReport(new NotFalsePositiveResultsReportRunner(), GetReportResultFormatter(options), credentialRepository, options); }) .WithParsed <RawScanResultXmlOptions>(options => { result = RunReport(new RawScanXmlReportRunner(), new TextStringFormatter(), credentialRepository, options); }) .WithParsed <RawScanResultCsvOptions>(options => { result = RunReport(new RawScanCsvReportRunner(), new TextStringFormatter(), credentialRepository, options); }) .WithParsed <SaveCredentialsOptions>(options => { result = SaveCredentials(credentialRepository, options.Server, options.UserName, options.Password); }) .WithNotParsed( errors => { // Do nothing }); } catch (Exception ex) { Console.Error.WriteLine(ex.Message); } return(result); }
public void Save_Load() { FileCredentialRepository fileCredentialRepository; const string filePath = "foo.json"; const string server = "server"; const string userName = "******"; const string password = "******"; string loadedUserName; string loadedPassword; try { DeleteFile(filePath); fileCredentialRepository = new FileCredentialRepository(filePath); Assert.That(fileCredentialRepository.Contains(server), Is.False, "No existing credentials"); fileCredentialRepository.Save(server, userName, password); Assert.That(fileCredentialRepository.Contains(server), Is.True, "Credentials not saved after Save"); fileCredentialRepository.Load(server, out loadedUserName, out loadedPassword); Assert.That(fileCredentialRepository.Contains(server), Is.True, "Credentials not saved after load"); Assert.That(loadedUserName, Is.EqualTo(userName)); Assert.That(loadedPassword, Is.EqualTo(password)); } finally { DeleteFile(filePath); } }