public void T08_Password() { CMISViewModel vm = getInitializedViewModel(); // Test one: Direct Password set and get on the view model string pw = "Hello World!"; vm.CT.Password = pw; Assert.AreEqual(pw, vm.CT.Password); string encryptedPW = vm.CMISSettings.Password; Assert.AreNotEqual(pw, encryptedPW); // Verify password in export StoreDocumentResult expectedtResult = StoreDocumentResult.DefaultResult(); expectedtResult.Password = pw; CMISClientMock cmisClient = new CMISClientMock(); CMISExport export = new CMISExport(cmisClient); SIEEBatch batch = createBatch(expectedtResult.Filename, expectedtResult.DocName); SIEEFieldlist fieldlist = batch[0].Fieldlist; // Default document export vm.LoadPropertiesHandler(); Assert.IsTrue(vm.TT.PropertiesLoaded); Assert.AreEqual(6, vm.TT.Properties.Count); export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedtResult.Compare(cmisClient.SDR); }
private CMISViewModel getInitializedViewModel() { CMISViewModel vm = getViewModel(); Assert.IsFalse(vm.DataLoaded); Assert.IsFalse(vm.TT.PropertiesLoaded); Assert.IsTrue(vm.FT.WarningVisible); Assert.AreEqual(0, vm.SelectedTab); vm.LoadRepositoriesButtonHandler(); Assert.IsFalse(vm.DataLoaded); vm.ConnectdButtonHandler(); Assert.IsTrue(vm.DataLoaded); Assert.IsFalse(vm.TT.PropertiesLoaded); Assert.IsTrue(vm.FT.WarningVisible); Assert.AreEqual(1, vm.SelectedTab); vm.ActivateTab("typesTab"); vm.TT.SetSelectTypeHandler(vm.TT.Types[0]); Assert.IsFalse(vm.TT.PropertiesLoaded); Assert.AreEqual(vm.TT.SelectedCulture, CultureInfo.CurrentCulture); vm.FT.SetSelectedFolderHandler(vm.FT.Folders[0]); Assert.IsFalse(vm.FT.WarningVisible); Assert.IsNull(SIEEMessageBox.LastMessage); return(vm); }
public void T05_MultiTabLogic() { CMISViewModel vm = getInitializedViewModel(); Assert.IsFalse(vm.TT.PropertiesLoaded); Assert.IsFalse(vm.FT.WarningVisible); Assert.IsTrue(vm.TT.Warning.IndexOf("properties") > 0); Assert.IsTrue(vm.FT.Warning.IndexOf("folder") > 0); CMISClientMock cmisClient = vm.CMISClient as CMISClientMock; cmisClient.VersionableType = true; vm.TT.SetSelectTypeHandler(vm.TT.Types[0]); vm.LoadPropertiesHandler(); Assert.IsTrue(vm.TT.PropertiesLoaded); Assert.IsFalse(vm.FT.WarningVisible); vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.AddVersion; Assert.IsFalse(vm.FT.WarningVisible); cmisClient.VersionableType = false; vm.TT.SetSelectTypeHandler(vm.TT.Types[0]); vm.LoadPropertiesHandler(); Assert.IsTrue(vm.FT.WarningVisible); Assert.IsTrue(vm.FT.Warning.IndexOf("version") > 0); }
public CMISViewModel_FT(CMISViewModel vm) { this.vm = vm; settings = vm.CMISSettings; ConflictHandlingMethods = new List <ConflictHandlingMethod>() { new ConflictHandlingMethod() { Name = "None", Value = CMISSettings.ConflictHandling.None }, new ConflictHandlingMethod() { Name = "Replace file", Value = CMISSettings.ConflictHandling.Replace }, new ConflictHandlingMethod() { Name = "Add consecutive number", Value = CMISSettings.ConflictHandling.AddNumber }, new ConflictHandlingMethod() { Name = "Add raondom string", Value = CMISSettings.ConflictHandling.AddBlurb }, new ConflictHandlingMethod() { Name = "Create new version", Value = CMISSettings.ConflictHandling.AddVersion }, }; }
public CMISViewModel_DT(CMISViewModel vm) { this.vm = vm; settings = vm.CMISSettings; nsp = new NameSpecParser(); Result = nsp.Convert(settings.Specification); }
public CMISViewModel_TT(CMISViewModel vm) { this.vm = vm; this.settings = vm.CMISSettings; Warning = "No properties loaded yet"; Cultures = CultureInfo.GetCultures(CultureTypes.AllCultures).OrderBy(n => n.DisplayName).ToList(); }
private CMISViewModel getViewModel() { SIEEMessageBox.LastMessage = null; CMISViewModel vm = new CMISViewModel(new CMISSettings(), new CMISClientMock()); vm.CT.ServerURL = "http://MyServer"; vm.CT.Username = "******"; vm.CT.Password = "******"; vm.Initialize(new CMIS_WPFControl()); return(vm); }
public void T07_SelectReposiory() { CMISViewModel vm = getViewModel(); vm.LoadRepositoriesButtonHandler(); Assert.AreEqual("Repository 1", vm.CT.SelectedRepository.Id); Assert.AreEqual(vm.CT.Repositories[0], vm.CT.SelectedRepository); vm.CT.SelectedRepository = vm.CT.Repositories[1]; SIEESettings save = vm.Settings; vm = new CMISViewModel(vm.Settings, vm.CMISClient); Assert.AreEqual("Repository 2", vm.CT.SelectedRepository.Id); Assert.AreEqual(vm.CT.Repositories[1].Description, vm.CT.SelectedRepository.Description); }
public CMISViewModel_CT(CMISViewModel vm) { this.vm = vm; settings = vm.CMISSettings; Repositories = new List <CMISRepository>(); Cultures = CultureInfo.GetCultures(CultureTypes.AllCultures).OrderBy(n => n.DisplayName).ToList(); if (settings.Binding == TypeOfBinding.Atom) { AtomBinding = true; } else { BrowserBinding = true; } Warning = "Login not yet done"; }
public void T06_Serialization() { CMISViewModel vm = getInitializedViewModel(); vm.CMISSettings.SerializedFolderPath = new List <string>() { "SerializedFolderPath" }; vm.CMISSettings.SerializedTypePath = new List <string>() { "SerializedTypePath" }; vm.CMISSettings.Properties = new ObservableCollection <CMISProperty>() { new CMISProperty() { DisplayName = "one", Id = "1", Selected = true, //TypeName = "String", Type = CMISClientType.String, } }; // Serialize -> deserialize -> serialize again -> compare strings string xmlString = Serializer.SerializeToXmlString(vm.Settings, System.Text.Encoding.Unicode); CMISSettings cmisSettings = (CMISSettings)Serializer.DeserializeFromXmlString(xmlString, typeof(CMISSettings), System.Text.Encoding.Unicode); string xmlString1 = Serializer.SerializeToXmlString(cmisSettings, System.Text.Encoding.Unicode); Assert.AreEqual(xmlString, xmlString1); // Deserialize some older string //File.WriteAllText(@"c:\temp\CMISSettings-Serialized.xml", xmlString); xmlString = Properties.Resources.CMISSettings_Serialized; cmisSettings = (CMISSettings)Serializer.DeserializeFromXmlString(xmlString, typeof(CMISSettings), System.Text.Encoding.Unicode); }
public void T04_TypesTab() { CMISViewModel vm = getInitializedViewModel(); StoreDocumentResult expectedResult = StoreDocumentResult.DefaultResult(); // Default setting Assert.AreEqual(0, vm.TT.Properties.Count); // Select, deselect all vm.LoadPropertiesHandler(); Assert.IsNull(SIEEMessageBox.LastMessage); Assert.AreEqual(6, vm.TT.Properties.Count); foreach (CMISProperty p in vm.TT.Properties) { Assert.IsFalse(p.Selected); } vm.TT.SelectAllHandler(); foreach (CMISProperty p in vm.TT.Properties) { Assert.IsTrue(p.Selected); } vm.TT.DeselectAllHandler(); foreach (CMISProperty p in vm.TT.Properties) { Assert.IsFalse(p.Selected); } // Create schema SIEEFieldlist fl = vm.Settings.CreateSchema(); Assert.AreEqual(0, fl.Count); vm.TT.Properties[0].Selected = true; fl = vm.Settings.CreateSchema(); Assert.AreEqual(1, fl.Count); Assert.AreEqual(vm.TT.Properties[0].Id, fl[0].Name); }
public void T03_FolderTab() { CMISViewModel vm = getInitializedViewModel(); StoreDocumentResult expectedResult = StoreDocumentResult.DefaultResult(); CMISClientMock cmisClient = new CMISClientMock(); CMISExport export = new CMISExport(cmisClient); // Default values Assert.AreEqual("/" + cmisClient.GetRootFolder().DisplayName, vm.FT.SelectedFolderPath); Assert.IsFalse(vm.FT.UseSubFolderField); Assert.AreEqual("FolderField", vm.FT.SubFolderField); Assert.IsFalse(vm.FT.UseSubFolderType); Assert.IsTrue(vm.FT.SubFolderTypeFixed); Assert.AreEqual("cmis:folder", vm.FT.SubFolderType); Assert.IsFalse(vm.FT.SubFolderTypeFromField); Assert.AreEqual("FolderTypeField", vm.FT.SubFolderTypeField); Assert.AreEqual(CMISSettings.ConflictHandling.None, vm.FT.SelectedConflictHandling); Assert.AreEqual(4, vm.FT.NumberOfDigits); Assert.AreEqual("Collapsed", vm.FT.NumberOfDigitsVisible); Assert.IsTrue(vm.FT.Major); Assert.AreEqual("Collapsed", vm.FT.VersioningVisible); // Visibility checks and logic vm.FT.SubFolderTypeFromField = true; Assert.IsFalse(vm.FT.SubFolderTypeFixed); vm.FT.SubFolderTypeFixed = true; Assert.IsFalse(vm.FT.SubFolderTypeFromField); vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.Replace; Assert.AreEqual("Collapsed", vm.FT.NumberOfDigitsVisible); Assert.AreEqual("Collapsed", vm.FT.VersioningVisible); vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.AddBlurb; Assert.AreEqual("Collapsed", vm.FT.NumberOfDigitsVisible); Assert.AreEqual("Collapsed", vm.FT.VersioningVisible); vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.AddNumber; Assert.AreEqual("Visible", vm.FT.NumberOfDigitsVisible); Assert.AreEqual("Collapsed", vm.FT.VersioningVisible); vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.AddVersion; Assert.AreEqual("Collapsed", vm.FT.NumberOfDigitsVisible); Assert.AreEqual("Visible", vm.FT.VersioningVisible); vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.None; // Default document export SIEEBatch batch = createBatch(expectedResult.Filename, expectedResult.DocName); SIEEFieldlist fieldlist = batch[0].Fieldlist; vm.LoadPropertiesHandler(); export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedResult.Compare(cmisClient.SDR); // SubFolderField vm.FT.UseSubFolderField = true; fieldlist.Add(new SIEEField() { Name = "FolderField", Value = "subFolder", ExternalId = "FolderField" }); expectedResult.FinalFolder += "/subFolder"; export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedResult.UsedFolderType = vm.FT.SubFolderType; // Default is what export implements expectedResult.Compare(cmisClient.SDR); // SubFolderType vm.FT.UseSubFolderType = true; vm.FT.SubFolderType = "cmis:myFolderType"; export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedResult.UsedFolderType = "cmis:myFolderType"; expectedResult.Compare(cmisClient.SDR); // SubFolderFieldType vm.FT.SubFolderTypeFromField = true; fieldlist.Add(new SIEEField() { Name = vm.FT.SubFolderTypeField, Value = "cmis:anotherFolderType", ExternalId = vm.FT.SubFolderTypeField, }); export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); expectedResult.UsedFolderType = "cmis:anotherFolderType"; expectedResult.Compare(cmisClient.SDR); // Conflict Handling : Replace cmisClient.ExistingDocument = expectedResult.DocName + ".pdf"; vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.Replace; export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedResult.Compare(cmisClient.SDR); // Conflict Handling : None cmisClient.ExistingDocument = expectedResult.DocName + ".pdf"; vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.None; export.ExportBatch(vm.Settings, batch); expectedResult.OverwrittenExistingDocument = true; expectedResult.Compare(cmisClient.SDR); expectedResult.OverwrittenExistingDocument = false; cmisClient.SDR.OverwrittenExistingDocument = false; // Conflict Handling : AddBlurb vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.AddBlurb; export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedResult.ExpectBlurb = true; expectedResult.Compare(cmisClient.SDR); expectedResult.ExpectBlurb = false; // Conflict Handling : AddNumber vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.AddNumber; vm.FT.NumberOfDigits = 2; export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); string save = expectedResult.DocName; expectedResult.DocName += "_01"; expectedResult.Compare(cmisClient.SDR); expectedResult.DocName = save; // Conflict Handling : AddVersion vm.FT.SelectedConflictHandling = CMISSettings.ConflictHandling.AddVersion; vm.FT.Major = true; export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedResult.Updated = true; expectedResult.Major = true; expectedResult.CheckInComment = "OCC created version"; expectedResult.Compare(cmisClient.SDR); vm.FT.Major = false; export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedResult.Major = false; expectedResult.Compare(cmisClient.SDR); }
public void T01_ConnectionTab() { // Verify default values CMISViewModel vm = new CMISViewModel(new CMISSettings(), new CMISClientMock()); Assert.IsFalse(vm.IsRunning); Assert.IsFalse(vm.DataLoaded); Assert.IsFalse(vm.CanConnect()); Assert.AreEqual(0, vm.SelectedTab); Assert.AreEqual("http://<Server URL>", vm.CT.ServerURL); Assert.AreEqual(TypeOfBinding.Atom, vm.CT.TypeOfBinding); Assert.AreEqual(null, vm.CT.Username); Assert.AreEqual(string.Empty, vm.CT.Password); Assert.IsNull(vm.CT.SelectedRepository.Id); Assert.IsNull(vm.CT.SelectedRepository.Description); Assert.IsFalse(vm.CT.SecondaryTypesSupported); // Verify tab order CMIS_WPFControl wpfControl = new CMIS_WPFControl(); wpfControl.DataContext = vm; Dictionary <int, string> tabs = new Dictionary <int, string>() { { 0, "connectionTab" }, { 1, "folderTab" }, { 2, "typesTab" }, { 3, "documentTab" }, { 4, "secondaryTypesTab" }, }; TabControl tc = (TabControl)LogicalTreeHelper.FindLogicalNode(wpfControl, "mainTabControl"); for (int i = 0; i < tabs.Count; i++) { tc.SelectedIndex = i; TabItem ti = tc.SelectedItem as TabItem; Assert.AreEqual(tabs[i], ti.Name); } // Load repositories vm = getViewModel(); Assert.IsFalse(vm.CanConnect()); Assert.IsFalse(vm.DataLoaded); Assert.IsFalse(vm.CMISSettings.LoadRepositoriesPossible); Assert.IsFalse(vm.CMISSettings.ConnectPossible); vm = new CMISViewModel(vm.Settings, new CMISClientMock()); Assert.IsFalse(vm.CanConnect()); // no change Assert.IsFalse(vm.DataLoaded); // no change Assert.IsFalse(vm.CMISSettings.LoadRepositoriesPossible); // no change Assert.IsFalse(vm.CMISSettings.ConnectPossible); // no change vm.LoadRepositoriesButtonHandler(); Assert.AreEqual(3, vm.CT.Repositories.Count); Assert.IsTrue(vm.CanConnect()); // change Assert.IsFalse(vm.DataLoaded); // no change Assert.IsTrue(vm.CMISSettings.LoadRepositoriesPossible); // change Assert.IsFalse(vm.CMISSettings.ConnectPossible); // no change vm = new CMISViewModel(vm.Settings, new CMISClientMock()); Assert.AreEqual(3, vm.CT.Repositories.Count); Assert.IsTrue(vm.CanConnect()); // change Assert.IsFalse(vm.DataLoaded); // no change Assert.IsTrue(vm.CMISSettings.LoadRepositoriesPossible); // change Assert.IsFalse(vm.CMISSettings.ConnectPossible); // no change vm.CT.Username += "-1"; // invalidate connection settings Assert.IsFalse(vm.CanConnect()); // change Assert.IsFalse(vm.DataLoaded); // no change Assert.IsFalse(vm.CMISSettings.LoadRepositoriesPossible); // change Assert.IsFalse(vm.CMISSettings.ConnectPossible); // no change vm.LoadRepositoriesButtonHandler(); // Connect Assert.AreEqual(vm.CT.SelectedRepository, vm.CT.Repositories.First()); vm.ConnectdButtonHandler(); Assert.IsNull(SIEEMessageBox.LastMessage); Assert.IsTrue(vm.CanConnect()); // no change Assert.IsTrue(vm.DataLoaded); // change Assert.IsTrue(vm.CMISSettings.LoadRepositoriesPossible); // no change Assert.IsTrue(vm.CMISSettings.ConnectPossible); // change Assert.AreEqual(vm.CT.SelectedRepository.Id, ((CMISClientMock)vm.CMISClient).CurrentRepository); // Connecting twice -> no change ((CMISClientMock)vm.CMISClient).CurrentRepository = null; vm.ConnectdButtonHandler(); Assert.AreEqual(null, ((CMISClientMock)vm.CMISClient).CurrentRepository); // Change repository vm.CT.SelectedRepository = vm.CT.Repositories.Last(); // reselect Assert.IsTrue(vm.CanConnect()); // no change Assert.IsFalse(vm.DataLoaded); // change Assert.IsTrue(vm.CMISSettings.LoadRepositoriesPossible); // no change Assert.IsFalse(vm.CMISSettings.ConnectPossible); // change vm.ConnectdButtonHandler(); Assert.IsNull(SIEEMessageBox.LastMessage); vm = new CMISViewModel(vm.Settings, new CMISClientMock()); Assert.IsTrue(vm.CanConnect()); // no change Assert.IsTrue(vm.DataLoaded); // no change Assert.IsTrue(vm.CMISSettings.LoadRepositoriesPossible); // no change Assert.IsTrue(vm.CMISSettings.ConnectPossible); // no change Assert.AreEqual(vm.CT.SelectedRepository.Id, ((CMISClientMock)vm.CMISClient).CurrentRepository); // Binding type vm.CT.BrowserBinding = true; Assert.AreEqual(TypeOfBinding.Browser, vm.CMISSettings.Binding); Assert.IsFalse(vm.CT.AtomBinding); Assert.IsTrue(vm.CT.BrowserBinding); Assert.IsFalse(vm.CT.WebServiceBinding); vm.LoadRepositoriesButtonHandler(); Assert.AreEqual(TypeOfBinding.Browser, vm.CMISClient.TypeOfBinding); vm.CT.WebServiceBinding = true; Assert.AreEqual(TypeOfBinding.WebService, vm.CMISSettings.Binding); Assert.IsFalse(vm.CT.AtomBinding); Assert.IsFalse(vm.CT.BrowserBinding); Assert.IsTrue(vm.CT.WebServiceBinding); vm.LoadRepositoriesButtonHandler(); Assert.AreEqual(TypeOfBinding.WebService, vm.CMISClient.TypeOfBinding); vm.CT.AtomBinding = true; Assert.AreEqual(TypeOfBinding.Atom, vm.CMISSettings.Binding); Assert.IsTrue(vm.CT.AtomBinding); Assert.IsFalse(vm.CT.BrowserBinding); Assert.IsFalse(vm.CT.WebServiceBinding); vm.LoadRepositoriesButtonHandler(); Assert.AreEqual(TypeOfBinding.Atom, vm.CMISClient.TypeOfBinding); Assert.AreEqual(vm.CT.Username, vm.CMISClient.Username); Assert.AreEqual(vm.CT.Password, vm.CMISClient.Password); }
public void T02_BasicExport() { CMISViewModel vm = getInitializedViewModel(); vm.CMISSettings.SelectedCultureInfoName = "en-US"; StoreDocumentResult expectedtResult = StoreDocumentResult.DefaultResult(); CMISClientMock cmisClient = new CMISClientMock(); CMISExport export = new CMISExport(cmisClient); SIEEBatch batch = createBatch(expectedtResult.Filename, expectedtResult.DocName); SIEEFieldlist fieldlist = batch[0].Fieldlist; // Default document export vm.LoadPropertiesHandler(); Assert.IsTrue(vm.TT.PropertiesLoaded); Assert.AreEqual(6, vm.TT.Properties.Count); export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedtResult.Compare(cmisClient.SDR); foreach (CMISProperty p in vm.TT.Properties) { p.Selected = true; object objectValue; string stringValue; switch (p.Type) { case CMISClientType.Boolean: stringValue = "true"; objectValue = true; break; case CMISClientType.Integer: stringValue = "4711"; objectValue = 4711; break; case CMISClientType.Decimal: stringValue = "1.8"; objectValue = 1.8M; break; case CMISClientType.DateTime: stringValue = "11.03.2017"; objectValue = DateTime.Parse(stringValue, new CultureInfo("en-US")); break; default: objectValue = stringValue = "Some string"; break; } fieldlist.Add(new SIEEField(p.Id, p.Id, stringValue)); expectedtResult.Properties[p.Id] = objectValue; export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedtResult.Compare(cmisClient.SDR); if (p.Type != CMISClientType.String) { fieldlist.Where(n => n.ExternalId == p.Id).First().Value = "Illegal value"; export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsFalse(batch[0].Succeeded); } expectedtResult.Compare(cmisClient.SDR); fieldlist.Remove(fieldlist.Where(n => n.ExternalId == p.Id).First()); expectedtResult.Properties.Remove(p.Id); } CMISProperty pror = vm.TT.Properties.Where(n => n.Type == CMISClientType.Decimal).First(); pror.Selected = true; fieldlist.Add(new SIEEField(pror.Id, pror.Id, "1,8")); expectedtResult.Properties[pror.Id] = 1.8M; vm.CMISSettings.SelectedCultureInfoName = "de-DE"; export.Init(vm.Settings); export.ExportBatch(vm.Settings, batch); Assert.IsTrue(batch[0].Succeeded); expectedtResult.Compare(cmisClient.SDR); }
public CMISViewModel_ST(CMISViewModel vm) { this.vm = vm; this.settings = vm.CMISSettings; SecondaryTypes = new ObservableCollection <SecondaryType>(); }
// Document Tab private void Button_AddTokenToFile(object sender, RoutedEventArgs e) { CMISViewModel vm = ((CMISViewModel)DataContext); vm.DT.AddTokenToFileHandler((string)((Button)sender).Tag); }