public void SSpace_facets_propagated_to_CSpace_when_creating_new_model_form_SqlServer_database() { using (var artifactHelper = new MockEFArtifactHelper()) { // set up original artifact var uri = TestUtils.FileName2Uri(@"TestArtifacts\EmptyEdmx.edmx"); var artifact = (EntityDesignArtifact)artifactHelper.GetNewOrExistingArtifact(uri); var settings = SetupBaseModelBuilderSettings(artifact); CommandProcessor cp = null; try { cp = ModelObjectItemWizard.PrepareCommandsAndIntegrityChecks(settings, artifact.GetEditingContext(), artifact); Assert.NotNull(cp); // Facet propagation should be enabled SqlServer databases Assert.Equal(1, cp.CommandProcessorContext.IntegrityChecks.Count); } finally { if (cp != null) { cp.CommandProcessorContext.ClearIntegrityChecks(); } } } }
public void Complex_type_removed_from_model_when_TVF_removed() { using (var artifactHelper = new MockEFArtifactHelper()) { var artifact = artifactHelper.GetNewOrExistingArtifact( TestUtils.FileName2Uri(@"TestArtifacts\FunctionImportsAndTvfs.edmx")); var removeFunctionImportsMethod = typeof(ModelObjectItemWizard).GetMethod( "CreateRemoveFunctionImportCommands", BindingFlags.Static | BindingFlags.NonPublic); var commands = ((IEnumerable)removeFunctionImportsMethod.Invoke(null, new object[] { artifact })).Cast <object>().ToArray(); Assert.Equal(5, commands.Count()); var functionImport = GetPropertyValue <FunctionImport>(commands[0], "FunctionImport"); Assert.Equal("DeleteFunctionImportCommand", commands[0].GetType().Name); Assert.Equal("SingleColumnTableValuedFunction", functionImport.Name.Value); Assert.Equal("DeleteComplexTypeCommand", commands[1].GetType().Name); Assert.Same(functionImport.ReturnTypeAsComplexType.Target, GetPropertyValue <ComplexType>(commands[1], "EFElement")); functionImport = GetPropertyValue <FunctionImport>(commands[2], "FunctionImport"); Assert.Equal("DeleteFunctionImportCommand", commands[2].GetType().Name); Assert.Equal("StoredProc", functionImport.Name.Value); functionImport = GetPropertyValue <FunctionImport>(commands[3], "FunctionImport"); Assert.Equal("DeleteFunctionImportCommand", commands[3].GetType().Name); Assert.Equal("MultipleColumnTableValuedFunction", functionImport.Name.Value); Assert.Equal("DeleteComplexTypeCommand", commands[4].GetType().Name); Assert.Same(functionImport.ReturnTypeAsComplexType.Target, GetPropertyValue <ComplexType>(commands[4], "EFElement")); } }
public void SSpace_facets_not_propagated_to_CSpace_when_creating_new_model_form_non_SqlServer_database() { using (var artifactHelper = new MockEFArtifactHelper()) { // set up original artifact var uri = TestUtils.FileName2Uri(@"TestArtifacts\PropagateSSidePropertyFacetsToCSideOracle.edmx"); var artifact = (EntityDesignArtifact)artifactHelper.GetNewOrExistingArtifact(uri); var settings = SetupBaseModelBuilderSettings(artifact); var cp = ModelObjectItemWizard.PrepareCommandsAndIntegrityChecks(settings, artifact.GetEditingContext(), artifact); Assert.NotNull(cp); // One command for stored procedure expected Assert.Equal(1, cp.CommandCount); // No integrity checks expected - facet propagation should be disabled for non SqlServer databases Assert.Equal(0, cp.CommandProcessorContext.IntegrityChecks.Count); } }