public void NotSignedLicenseIsRejected() { var license = CreateLicenseFromNewContact(); var encodedLicense = LicenseWriter.ToString(license); LicenseReader.FromString(encodedLicense.Split('.').First()); }
public void StandardLicenseTest() { Dictionary <string, string> values = StandardLicenseBuilder.Build("to-me", null, "*****@*****.**", "00200", 4); string licenseFolder = System.IO.Path.GetTempPath(); string fileName = "UTTest.lic"; string filePath = System.IO.Path.Combine(licenseFolder, fileName); using (System.IO.Stream fileStream = new System.IO.FileStream(filePath, FileMode.Create)) { LicenseWriter.Write(values, new TestSigner(), fileStream); } IStandardLicense license = new TestLicense(); Assert.That(license.Status, Is.EqualTo(LicenseStatus.NotLoaded)); license.Load(licenseFolder); Assert.That(license.Status, Is.EqualTo(LicenseStatus.Active)); Assert.That(license.LicensedTo, Is.EqualTo("to-me"), "wrong licensedto"); Assert.That(license.LicenseTitle, Is.EqualTo("Test License"), "wrong license title"); Assert.That(license.ExpirationDate, Is.Null, "Expiration date is not null"); Assert.That(license.AttributeSummary, Is.EqualTo("Attribs"), "wrong attribs"); Assert.That(license.SerialNumber, Is.EqualTo("00200"), "wrong serial number"); Assert.That(license.EmailAddress, Is.EqualTo("*****@*****.**"), "wrong email address"); Assert.That(license.LicenseVersion, Is.EqualTo(4), "wrong license version"); Assert.That(license.Values[StandardLicenseBuilder.EmailAddressKey], Is.EqualTo("*****@*****.**"), "bad dictionary"); }
public void CanReadValidLicense() { IsValidIfLocalLicenseDoesNotAlreadyExist(); // Assuming test environment can write in one of folders license file may be. using (var path = new TemporaryFile(LicenseManager.GetLicenseFilePath())) { // In test environment there isn't license file/storage then this test must fail. // After this we must discard cached (and empty) license to load the newly created one. Assert.IsNull(LicenseManager.License); Assert.IsFalse(LicenseManager.IsLicenseValid); LicenseManager.Renew(); // Now we prepare a fake license file to check few basics in // LicenseManager class. var contact = ContactFactory.Create <Contact>(); var license = LicenseFactory.Create <License>(contact); license.Features.Add((int)Feature.Example1, 1); LicenseWriter.ToFile(path, license); Assert.IsTrue(LicenseManager.IsLicenseValid); Assert.IsNotNull(LicenseManager.License); Assert.AreEqual(LicenseManager.License.Id, license.Id); Assert.IsTrue(LicenseManager.IsFeatureAvailable(Feature.Example1)); } }
private static License SaveAndReloadFromDisk(License license) { using (var path = new TemporaryFile()) { LicenseWriter.ToFile(path, license); return(LicenseReader.FromFile(path)); } }
public void LicenseWriter_ReadAgreementStateAgreementTrue_ReadsStateCorrectly() { var reader = new FakeLicenseReader(); reader.multiple = true; reader.state = true; LicenseWriter writer = new LicenseWriter(reader); Assert.IsTrue(writer.ReadAgreementState()); }
public void LicensesViewModel_CheckboxStateChanged_ChangesButtonState() { LicenseWriter writer = new LicenseWriter(new FakeLicenseReader()); LicensesViewModel model = new LicensesViewModel(writer); Assert.IsFalse(model.CommandAcceptEnabled); model.CheckboxStateChangedCommand.Execute(this); Assert.IsTrue(model.CommandAcceptEnabled); }
public void TamperedLicenseIsRejected() { var license = CreateLicenseFromNewContact(); var encodedLicense = new StringBuilder(LicenseWriter.ToString(license)); encodedLicense[0] = 'A'; // I'd assume we dont already have this sequence... encodedLicense[1] = 'B'; encodedLicense[2] = 'C'; encodedLicense[3] = 'D'; LicenseReader.FromString(encodedLicense.ToString()); }
/// <summary> /// This is the constructor for the LicensesViewModel /// </summary> public LicensesViewModel(LicenseWriter Writer) { CommandAcceptEnabled = false; _checkboxStateChangedCommand = new DelegateCommand(checkboxStateChanged); writer = Writer; Parallel.ForEach(LicenseManager.Licenses, s => { LicensesText += s; }); }
public void LicensesViewModel_SaveAcceptAgreement_SavesAgreement() { LicenseWriter writer = new LicenseWriter(new FakeLicenseReader()); LicensesViewModel model = new LicensesViewModel(writer); LicenseHolder.AcceptedLicense = false; model.CheckboxStateChangedCommand.Execute(this); model.SaveAcceptAgreement(); Assert.IsTrue(LicenseHolder.AcceptedLicense); }
public void ValidForMinorHardwareChanges() { using (var temp = new TemporaryFile()) { var contact = ContactFactory.Create <ContactForSlightlyChangedHardware>(); var license = LicenseFactory.Create <License>(contact); LicenseWriter.ToFile(temp, license); license = LicenseReader.FromFile <LicenseWithSlightlyChangedHardware, IniLicenseTextConverter <LicenseWithSlightlyChangedHardware> >(temp); Assert.IsTrue(license.IsValid()); } }
public void SelfIssuedLicense() { using (var temp = new TemporaryFile()) { var contact = ContactFactory.Create <Contact>(); var license = LicenseFactory.Create <License>(contact); LicenseWriter.ToFile(temp, license); license = LicenseReader.FromFile(temp); Assert.IsTrue(license.IsValid()); } }
public void InvalidIfHardwareConfigurationChanged() { using (var temp = new TemporaryFile()) { var contact = ContactFactory.Create <Contact>(); var license = LicenseFactory.Create <License>(contact); LicenseWriter.ToFile(temp, license); license = LicenseReader.FromFile <LicenseWithChangedHardware, IniLicenseTextConverter <LicenseWithChangedHardware> >(temp); Assert.IsFalse(license.IsValid()); } }
public void LicenseWriter_ReadAgreementStateAgreementTrue_UpdatesStateInManagerCorrectly() { LicenseManager.LicensesAccepted = false; var reader = new FakeLicenseReader(); reader.multiple = true; reader.state = true; LicenseWriter writer = new LicenseWriter(reader); writer.ReadAgreementState(); Assert.IsTrue(LicenseManager.LicensesAccepted); }
public void LicenseValid() { Dictionary <string, string> values = new Dictionary <string, string>(); values.Add("Animal1", "Cat"); values.Add("Animal2", "Winged Horse"); MemoryStream licenseStream = new MemoryStream(); LicenseWriter.Write(values, new TestSigner(), licenseStream); licenseStream.Position = 0; Dictionary <string, string> decodedValues = LicenseReader.Read(licenseStream, new TestValidator()); Assert.That(decodedValues.Count, Is.EqualTo(2), "Wrong number of license values"); Assert.That(decodedValues["Animal1"], Is.EqualTo("Cat"), "Animal1 should have been Cat"); Assert.That(decodedValues["Animal2"], Is.EqualTo("Winged Horse"), "Animal2 should have been Winged Horse"); }
public void StandardLicenseNotExpired() { Dictionary <string, string> values = StandardLicenseBuilder.Build("to-me", DateTime.Today.AddDays(1.0D), "*****@*****.**", "00200", 4); string licenseFolder = System.IO.Path.GetTempPath(); string fileName = "UTTest.lic"; string filePath = System.IO.Path.Combine(licenseFolder, fileName); using (System.IO.Stream fileStream = new System.IO.FileStream(filePath, FileMode.Create)) { LicenseWriter.Write(values, new TestSigner(), fileStream); } IStandardLicense license = new TestLicense(); Assert.That(license.Status, Is.EqualTo(LicenseStatus.NotLoaded)); license.Load(licenseFolder); Assert.That(license.Status, Is.EqualTo(LicenseStatus.Active)); Assert.That(license.LicensedTo, Is.EqualTo("to-me"), "wrong licensedto"); Assert.That(license.LicenseTitle, Is.EqualTo("Test License"), "wrong license title"); }
public void LicensesViewModel_SaveAcceptAgreement_SavesAgreementToFile() { var reader = new FakeLicenseReader(); LicenseWriter writer = new LicenseWriter(reader); LicensesViewModel model = new LicensesViewModel(writer); LicenseHolder.AcceptedLicense = false; model.CheckboxStateChangedCommand.Execute(this); model.SaveAcceptAgreement(); foreach (string s in reader.NewFile) { if (s == "LIAG:True") { Assert.Pass(); } } }
public void LicenseWriter_WriteAgreementStateWithoutOtherParameters_WritesLicenseCorrectly() { var reader = new FakeLicenseReader(); reader.multiple = false; LicenseWriter writer = new LicenseWriter(reader); writer.WriteAgreementState(false); foreach (string s in reader.NewFile) { if (s == "LIAG:False") { Assert.Pass(); } } Assert.Fail(); }
public void LicenseSignatureInvalid1() { Dictionary <string, string> values = new Dictionary <string, string>(); values.Add("Animal1", "Cat"); values.Add("Animal2", "Winged Horse"); MemoryStream licenseStream = new MemoryStream(); LicenseWriter.Write(values, new TestSigner(), licenseStream); licenseStream.Position = 150; licenseStream.WriteByte(1); licenseStream.Position = 0; try { Dictionary <string, string> decodedValues = LicenseReader.Read(licenseStream, new TestValidator()); Assert.Fail("Should have thrown exception"); } catch (InvalidDataException) { } }
/// <summary> /// This is the constructor for the MainWindow ViewModel /// </summary> public MainWindowViewModel(IKeyManager Manager, DataProvider data, IReader reader, IDialogCoordinator dialogCoordinator, bool IsTesting = false) { AddLicenses(); //connect delegate commands to icommand handlers _changeToHeightCommand = new DelegateCommand(OnChangeToHeight); _changeToLoadCommand = new DelegateCommand(OnChangeToLoad); _changeToAboutCommand = new DelegateCommand(OnChangeToAbout); _changeToAccelerationGraphCommand = new DelegateCommand(OnChangeToAccelerationGraph); _changeToAccelerationTimedCommand = new DelegateCommand(OnChangeToAccelerationTimed); _changeToAngleGraphCommand = new DelegateCommand(OnChangeToAngleGraph); _changeToAngleTimedCommand = new DelegateCommand(OnChangeToAngleTimed); _changeToMapRouteCommand = new DelegateCommand(OnChangeToMapRoute); _changeToMapTimedCommand = new DelegateCommand(OnChangeToMapTimed); _changeToVelocityGraphCommand = new DelegateCommand(OnChangeToVelocityGraph); _changeToVelocityTimedCommand = new DelegateCommand(OnChangeToVelocityTimed); _changeToHorizonCommand = new DelegateCommand(OnChangeToHorizonCommand); dataProvider = data; coordinator = dialogCoordinator; manager = Manager; MapEnabled = true; _mapAvailable = true; if (!reader.FileExists("CIDER.cfg")) { reader.WriteAllText("", "CIDER.cfg"); } if (!manager.Fetch()) { MapEnabled = false; _mapAvailable = false; displayApiKeyInfo = true; } if (!IsTesting) { if (ThemeManager.DetectAppStyle().Item1 == ThemeManager.GetAppTheme("BaseDark")) { var theme = ThemeManager.DetectAppStyle(); ThemeManager.ChangeAppTheme(App.Current, "BaseDark"); } } // Check the license try { LicenseWriter licenseWriter = new LicenseWriter(reader); _licenseAccepted = licenseWriter.ReadAgreementState(); LicenseManager.LicensesAccepted = _licenseAccepted; if (_licenseAccepted == false) { Licenses licenses = new Licenses(); licenses.Show(); _licenseAccepted = LicenseManager.LicensesAccepted; } } catch (Exception ex) { logger.Error(ex, "Couldn't configure License State"); _licenseAccepted = false; } ButtonState(false); MapEnabled = false; if (_licenseAccepted) { ButtonState(true); } KeyManager.MapKeyChangedEvent += KeyManager_MapKeyChangedEvent; LicenseHolder.LicenseChangedEvent += LicenseHolder_LicenseChangedEvent; }