public void AdvancedRecordsetViewModel_ParseTSQL_SelectStatementWithAllias_2_ReturnOutputs() { //------------Setup for test-------------------------- CustomContainer.LoadedTypes = new List <Type> { typeof(ManageSqliteServiceInputViewModel) }; var mockMainViewModel = new Mock <IShellViewModel>(); var mockHelpViewModel = new Mock <IHelpWindowViewModel>(); mockHelpViewModel.Setup(model => model.UpdateHelpText(It.IsAny <string>())).Verifiable(); mockMainViewModel.Setup(model => model.HelpViewModel).Returns(mockHelpViewModel.Object); var server = new Mock <IServer>(); var updatemanager = new Mock <IStudioUpdateManager>(); var queryManager = new Mock <IQueryManager>(); server.Setup(server1 => server1.UpdateRepository).Returns(updatemanager.Object); server.Setup(server1 => server1.QueryProxy).Returns(queryManager.Object); mockMainViewModel.Setup(model => model.ActiveServer).Returns(server.Object); CustomContainer.Register(mockMainViewModel.Object); var dataListViewModel = new DataListViewModel(); dataListViewModel.InitializeDataListViewModel(new Mock <IResourceModel>().Object); var recordSetItemModel = new RecordSetItemModel("person", enDev2ColumnArgumentDirection.Input); var recordSetFieldItemModels = new ObservableCollection <IRecordSetFieldItemModel> { new RecordSetFieldItemModel("name", recordSetItemModel), new RecordSetFieldItemModel("age", recordSetItemModel), new RecordSetFieldItemModel("address_id", recordSetItemModel) }; recordSetItemModel.Children = recordSetFieldItemModels; dataListViewModel.RecsetCollection.Add(recordSetItemModel); DataListSingleton.SetDataList(dataListViewModel); var act = new AdvancedRecordsetActivity(); const string query = "select p.name as username,p.address_id as address from person p"; //------------Execute Test--------------------------- using (var viewModel = new AdvancedRecordsetDesignerViewModel(ModelItemUtils.CreateModelItem(act), new ViewPropertyBuilder())) { viewModel.SqlQuery = query; viewModel.OutputsRegion.RecordsetName = "NewPerson"; viewModel.GenerateOutputsCommand.Execute(query); //------------Assert Results------------------------- Assert.IsNotNull(viewModel.OutputsRegion.Outputs); Assert.IsTrue(viewModel.OutputsRegion.IsEnabled); Assert.IsTrue(viewModel.ErrorRegion.IsEnabled); Assert.AreEqual(2, viewModel.OutputsRegion.Outputs.Count); Assert.AreEqual("[[NewPerson().username]]", viewModel.OutputsRegion.Outputs.First().MappedTo); Assert.AreEqual("username", viewModel.OutputsRegion.Outputs.First().MappedFrom); Assert.AreEqual("[[NewPerson().address]]", viewModel.OutputsRegion.Outputs.Last().MappedTo); Assert.AreEqual("address", viewModel.OutputsRegion.Outputs.Last().MappedFrom); } }
IContextualResourceModel CreateItemModelResourceModel(bool isConnected = true) { var moqModel = new Mock <IContextualResourceModel>(); moqModel.SetupAllProperties(); moqModel.Setup(model => model.DisplayName).Returns("My WF"); moqModel.Setup(model => model.Environment.Connection.IsConnected).Returns(isConnected); moqModel.Setup(model => model.Environment.IsConnected).Returns(isConnected); moqModel.Setup(model => model.Environment.Connection.WebServerUri).Returns(new Uri("http://rsaklf/bob")); moqModel.Setup(model => model.Category).Returns("My WF"); moqModel.Setup(model => model.Environment.IsLocalHost).Returns(isConnected); moqModel.Setup(model => model.ResourceName).Returns("My WF"); var dataListViewModel = new DataListViewModel(); dataListViewModel.InitializeDataListViewModel(moqModel.Object); dataListViewModel.Add(new ScalarItemModel("Name", enDev2ColumnArgumentDirection.Input)); dataListViewModel.Add(new ScalarItemModel("Surname", enDev2ColumnArgumentDirection.Input)); var recordSetItemModel = new RecordSetItemModel("Person", enDev2ColumnArgumentDirection.Input); var recordSetFieldItemModels = new ObservableCollection <IRecordSetFieldItemModel> { new RecordSetFieldItemModel("Name", recordSetItemModel, enDev2ColumnArgumentDirection.Input), new RecordSetFieldItemModel("Surname", recordSetItemModel, enDev2ColumnArgumentDirection.Input), }; recordSetItemModel.Children = recordSetFieldItemModels; dataListViewModel.RecsetCollection.Add(recordSetItemModel); DataListSingleton.SetDataList(dataListViewModel); dataListViewModel.WriteToResourceModel(); return(moqModel.Object); }
public static IRecordSetItemModel CreateRecordSetItemModel(ItemModel model, string displayname, string description, IDataListItemModel parent, OptomizedObservableCollection <IRecordSetFieldItemModel> children, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection) { IRecordSetItemModel dataListModel = new RecordSetItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, model.HasError, model.ErrorMessage, model.IsEditable, model.IsVisable, model.IsSelected); if (parent != null && !String.IsNullOrEmpty(displayname)) { dataListModel.DisplayName = parent.DisplayName + "()." + displayname; } return(dataListModel); }
public static IRecordSetItemModel CreateRecordSetItemModel(string displayname, string description = "", IDataListItemModel parent = null, OptomizedObservableCollection <IRecordSetFieldItemModel> children = null, bool hasError = false, string errorMessage = "", bool isEditable = true, bool isVisable = true, bool isSelected = false, enDev2ColumnArgumentDirection dev2ColumnArgumentDirection = enDev2ColumnArgumentDirection.None) { IRecordSetItemModel dataListModel = new RecordSetItemModel(displayname, dev2ColumnArgumentDirection, description, parent, children, hasError, errorMessage, isEditable, isVisable, isSelected); if (parent != null && !String.IsNullOrEmpty(displayname)) { dataListModel.DisplayName = parent.DisplayName + "()." + displayname; } return(dataListModel); }
public void AdvancedRecordsetViewModel_ValidateSql_ShowsCorrectErrorFormat() { CustomContainer.LoadedTypes = new List <Type> { typeof(ManageSqliteServiceInputViewModel) }; var mockMainViewModel = new Mock <IShellViewModel>(); var mockHelpViewModel = new Mock <IHelpWindowViewModel>(); mockHelpViewModel.Setup(model => model.UpdateHelpText(It.IsAny <string>())).Verifiable(); mockMainViewModel.Setup(model => model.HelpViewModel).Returns(mockHelpViewModel.Object); var server = new Mock <IServer>(); var updatemanager = new Mock <IStudioUpdateManager>(); var queryManager = new Mock <IQueryManager>(); server.Setup(server1 => server1.UpdateRepository).Returns(updatemanager.Object); server.Setup(server1 => server1.QueryProxy).Returns(queryManager.Object); mockMainViewModel.Setup(model => model.ActiveServer).Returns(server.Object); CustomContainer.Register(mockMainViewModel.Object); var dataListViewModel = new DataListViewModel(); dataListViewModel.InitializeDataListViewModel(new Mock <IResourceModel>().Object); var recordSetItemModel = new RecordSetItemModel("selectPerson", enDev2ColumnArgumentDirection.Input); var recordSetFieldItemModels = new ObservableCollection <IRecordSetFieldItemModel> { new RecordSetFieldItemModel("name", recordSetItemModel), new RecordSetFieldItemModel("age", recordSetItemModel), new RecordSetFieldItemModel("address_id", recordSetItemModel) }; recordSetItemModel.Children = recordSetFieldItemModels; dataListViewModel.RecsetCollection.Add(recordSetItemModel); DataListSingleton.SetDataList(dataListViewModel); //------------Setup for test-------------------------- var act = new AdvancedRecordsetActivity(); const string expectedFormat = "Invalid Output Mapping: count ( * )"; using (var advancedRecordset = new AdvancedRecordsetDesignerViewModel(ModelItemUtils.CreateModelItem(act), new ViewPropertyBuilder())) { advancedRecordset.SqlQuery = "select count(*) from [[selectPerson(*)]]"; //------------Execute Test--------------------------- advancedRecordset.ValidateSql(); advancedRecordset.Validate(); //------------Assert Results------------------------- Assert.AreEqual(1, advancedRecordset.Errors.Count); Assert.AreEqual(expectedFormat, advancedRecordset.Errors[0].Message); } }
public void ValidateRecordsetName_GivenInvalidName_ShouldHaveErrorMessage() { //---------------Set up test pack------------------- RecordSetItemModel recordSetItemModel = new RecordSetItemModel("DisplayName"); //---------------Assert Precondition---------------- Assert.IsTrue(string.IsNullOrEmpty(recordSetItemModel.ErrorMessage)); //---------------Execute Test ---------------------- recordSetItemModel.DisplayName = "UnitTestWith&<>"'"; recordSetItemModel.ValidateName(recordSetItemModel.DisplayName);//Convention //---------------Test Result ----------------------- var hasErrorMsg = !string.IsNullOrEmpty(recordSetItemModel.ErrorMessage); Assert.IsTrue(hasErrorMsg, "Invalid recordset name does not have error message."); }
public void Validatename_GivenValidName_ShouldHaveNoErrorMessage() { //---------------Set up test pack------------------- RecordSetItemModel recordSetItemModel = new RecordSetItemModel("DisplayName"); //---------------Assert Precondition---------------- Assert.IsTrue(string.IsNullOrEmpty(recordSetItemModel.ErrorMessage)); //---------------Execute Test ---------------------- recordSetItemModel.DisplayName = "UnitTestDisplayName"; recordSetItemModel.ValidateName(recordSetItemModel.DisplayName);//Convention //---------------Test Result ----------------------- var hasErrorMsg = string.IsNullOrEmpty(recordSetItemModel.ErrorMessage); Assert.IsTrue(hasErrorMsg); }
public void RecordsetItemModel_ValidateName_GivenNameHasXmlEscapeCharacters_ShouldHaveErrorMessage() { //---------------Set up test pack------------------- var recordSetItemModel = new RecordSetItemModel("DisplayName"); //---------------Assert Precondition---------------- Assert.IsTrue(string.IsNullOrEmpty(recordSetItemModel.ErrorMessage)); //---------------Execute Test ---------------------- recordSetItemModel.DisplayName = "UnitTestWith<>"; recordSetItemModel.ValidateName(recordSetItemModel.DisplayName);//Convention //---------------Test Result ----------------------- var hasErrorMsg = !string.IsNullOrEmpty(recordSetItemModel.ErrorMessage); Assert.IsTrue(hasErrorMsg); }
protected void BuildShapeAndTestData() { var shape = new XElement("root"); var data = new XElement("root"); var row = 0; _scenarioContext.TryGetValue("variableList", out dynamic variableList); if (variableList != null) { try { foreach (dynamic variable in variableList) { var variableName = DataListUtil.AddBracketsToValueIfNotExist(variable.Item1); if (!string.IsNullOrEmpty(variable.Item1) && !string.IsNullOrEmpty(variable.Item2)) { string value = variable.Item2 == "blank" ? "" : variable.Item2; if (value.ToUpper() == "NULL") { DataObject.Environment.AssignDataShape(variable.Item1); } else { DataObject.Environment.Assign(variableName, value, 0); } } if (DataListUtil.IsValueScalar(variableName)) { var scalarName = DataListUtil.RemoveLanguageBrackets(variableName); var scalarItemModel = new ScalarItemModel(scalarName); if (!scalarItemModel.HasError) { DataListSingleton.ActiveDataList.Add(scalarItemModel); } } if (DataListUtil.IsValueRecordsetWithFields(variableName)) { var rsName = DataListUtil.ExtractRecordsetNameFromValue(variableName); var fieldName = DataListUtil.ExtractFieldNameOnlyFromValue(variableName); var rs = DataListSingleton.ActiveDataList.RecsetCollection.FirstOrDefault(model => model.Name == rsName); if (rs == null) { var recordSetItemModel = new RecordSetItemModel(rsName); DataListSingleton.ActiveDataList.Add(recordSetItemModel); recordSetItemModel.Children.Add(new RecordSetFieldItemModel(fieldName, recordSetItemModel)); } else { var recordSetFieldItemModel = rs.Children.FirstOrDefault(model => model.Name == fieldName); if (recordSetFieldItemModel == null) { rs.Children.Add(new RecordSetFieldItemModel(fieldName, rs)); } } } //Build(variable, shape, data, row) row++; } DataListSingleton.ActiveDataList.WriteToResourceModel(); } catch { //Exception } } var isAdded = _scenarioContext.TryGetValue("rs", out List <Tuple <string, string> > emptyRecordset); if (isAdded) { foreach (Tuple <string, string> emptyRecord in emptyRecordset) { DataObject.Environment.Assign(DataListUtil.AddBracketsToValueIfNotExist(emptyRecord.Item1), emptyRecord.Item2, 0); } } _scenarioContext.TryGetValue("objList", out dynamic objList); if (objList != null) { try { foreach (dynamic variable in objList) { if (!string.IsNullOrEmpty(variable.Item1) && !string.IsNullOrEmpty(variable.Item2)) { string value = variable.Item2 == "blank" ? "" : variable.Item2; if (value.ToUpper() == "NULL") { DataObject.Environment.AssignDataShape(variable.Item1); } else { DataObject.Environment.AssignJson(new AssignValue(DataListUtil.AddBracketsToValueIfNotExist(variable.Item1), value), 0); } } } } catch { //Exception } } CurrentDl = shape.ToString(); TestData = data.ToString(); }