Ejemplo n.º 1
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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"));
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }