public void CreateAndValidateEdmItemCollection_throws_ArgumentNullException_for_null_csdl() { Assert.Equal( "csdl", Assert.Throws <ArgumentNullException>( () => EdmExtension.CreateAndValidateEdmItemCollection(null, new Version(1, 0, 0, 0))).ParamName); }
public void CreateAndValidateEdmItemCollection_throws_ArgumentNullException_for_null_targetFrameworkVersion() { Assert.Equal( "targetFrameworkVersion", Assert.Throws <ArgumentNullException>( () => EdmExtension.CreateAndValidateEdmItemCollection(string.Empty, null)).ParamName); }
public void CreateStorageMappingItemCollection_returns_errors_for_invalid_ssdl() { var v3 = new Version(3, 0, 0, 0); var edmItemCollection = EdmExtension.CreateAndValidateEdmItemCollection(Csdl, v3); var storeItemCollection = EdmExtension.CreateAndValidateStoreItemCollection( Ssdl, v3, resolver, false); var invalidMsl = XDocument.Parse(Msl); invalidMsl .Descendants("{http://schemas.microsoft.com/ado/2009/11/mapping/cs}ScalarProperty") .First() .SetAttributeValue("Name", "Non-existing-property"); IList <EdmSchemaError> edmErrors; var storageMappingItemCollection = EdmExtension.CreateStorageMappingItemCollection( edmItemCollection, storeItemCollection, invalidMsl.ToString(), out edmErrors); Assert.Null(storageMappingItemCollection); Assert.Equal(1, edmErrors.Count); Assert.Contains("'Non-existing-property'", edmErrors[0].Message); }
public void CreateAndValidateEdmItemCollection_creates_EdmItemCollection_for_valid_csdl_and_targetFrameworkVersion() { var edmItemCollection = EdmExtension.CreateAndValidateEdmItemCollection(Csdl, new Version(3, 0, 0, 0)); Assert.NotNull(edmItemCollection); Assert.NotNull(edmItemCollection.GetItem <EntityType>("AdventureWorksModel.Entity")); }
public void CreateAndValidateStoreItemCollection_throws_ArgumentException_for_incorrect_targetFrameworkVersion() { var exception = Assert.Throws <ArgumentException>( () => EdmExtension.CreateAndValidateStoreItemCollection(string.Empty, new Version(0, 0), null, true)); Assert.Equal("targetFrameworkVersion", exception.ParamName); Assert.True( exception.Message.StartsWith( string.Format(CultureInfo.CurrentCulture, Resources.ErrorNonValidTargetVersion, "0.0"))); }
public void CreateAndValidateStoreItemCollection_creates_StoreItemCollection_for_valid_ssdl_and_targetFrameworkVersion() { var storeItemCollection = EdmExtension.CreateAndValidateStoreItemCollection( Ssdl, new Version(3, 0, 0, 0), resolver, catchThrowNamingConflicts: true); Assert.NotNull(storeItemCollection); Assert.NotNull(storeItemCollection.GetItem <EntityType>("AdventureWorksModel.Store.Entities")); }
public void CreateStoreItemCollection_throws_ArgumentNullException_for_null_targetFrameworkVersion() { IList <EdmSchemaError> schemaErrors; Assert.Equal( "targetFrameworkVersion", Assert.Throws <ArgumentNullException>( () => EdmExtension.CreateStoreItemCollection( string.Empty, null, null, out schemaErrors)).ParamName); }
public void CreateStoreItemCollection_throws_ArgumentNullException_for_null_ssdl() { IList <EdmSchemaError> schemaErrors; Assert.Equal( "ssdl", Assert.Throws <ArgumentNullException>( () => EdmExtension.CreateStoreItemCollection( null, new Version(1, 0, 0, 0), null, out schemaErrors)).ParamName); }
public void CreateAndValidateEdmItemCollection_throws_for_valid_csdl_whose_version_is_newer_than_targetFrameworkVersion() { var exception = Assert.Throws <InvalidOperationException>( () => EdmExtension.CreateAndValidateEdmItemCollection(Csdl, new Version(2, 0, 0, 0))); Assert.Contains( exception.Message, string.Format( CultureInfo.CurrentCulture, Resources.TargetVersionSchemaVersionMismatch, new Version(3, 0, 0, 0), new Version(2, 0, 0, 0))); }
public void CreateStoreItemCollection_creates_StoreItemCollection_for_valid_ssdl_and_targetFrameworkVersion() { IList <EdmSchemaError> schemaErrors; var storeItemCollection = EdmExtension.CreateStoreItemCollection( Ssdl, new Version(3, 0, 0, 0), resolver, out schemaErrors); Assert.NotNull(storeItemCollection); Assert.Equal(0, schemaErrors.Count); Assert.NotNull(storeItemCollection.GetItem <EntityType>("AdventureWorksModel.Store.Entities")); }
public void CreateStoreItemCollection_returns_errors_StoreItemCollections_for_invalid_ssdl() { var invalidSsdl = XDocument.Parse(Ssdl); invalidSsdl.Descendants("{http://schemas.microsoft.com/ado/2009/11/edm/ssdl}" + "PropertyRef").Remove(); IList <EdmSchemaError> schemaErrors; var storeItemCollection = EdmExtension.CreateStoreItemCollection( invalidSsdl.ToString(), new Version(3, 0, 0, 0), resolver, out schemaErrors); Assert.Null(storeItemCollection); Assert.Equal(1, schemaErrors.Count); Assert.Contains("'PropertyRef'", schemaErrors[0].Message); }
public void CreateStorageMappingItemCollection_creates_storage_mapping_item_collection_for_valid_artifacts() { var v3 = new Version(3, 0, 0, 0); var edmItemCollection = EdmExtension.CreateAndValidateEdmItemCollection(Csdl, v3); var storeItemCollection = EdmExtension.CreateAndValidateStoreItemCollection( Ssdl, v3, resolver, false); IList <EdmSchemaError> edmErrors; var storageMappingItemCollection = EdmExtension.CreateStorageMappingItemCollection( edmItemCollection, storeItemCollection, Msl, out edmErrors); Assert.NotNull(storageMappingItemCollection); Assert.Equal(0, edmErrors.Count); Assert.NotNull(storageMappingItemCollection.GetItem <GlobalItem>("AdventureWorksEntities3")); }
public void CreateAndValidateEdmItemCollection_throws_original_erros_even_if_targetFrameworkVersion_is_older_than_csdl_version() { var invalidCsdl = XDocument.Parse(Csdl); invalidCsdl.Descendants("{http://schemas.microsoft.com/ado/2009/11/edm}PropertyRef").Remove(); invalidCsdl .Descendants("{http://schemas.microsoft.com/ado/2009/11/edm}EntityType") .Single() .Add(new XElement("{http://schemas.microsoft.com/ado/2009/11/edm}InvalidElement")); var exception = Assert.Throws <InvalidOperationException>( () => EdmExtension.CreateAndValidateEdmItemCollection(invalidCsdl.ToString(), new Version(2, 0, 0, 0))); Assert.True(exception.Message.StartsWith(Resources.ErrorCsdlNotValid.Replace("{0}", string.Empty))); var errorMessages = exception.Message.Split('\n'); Assert.Equal(3, errorMessages.Length); Assert.Contains("'PropertyRef'", errorMessages[0]); Assert.Contains("'InvalidElement'", errorMessages[1]); Assert.Contains("InvalidElement", errorMessages[2]); }
public void CreateAndValidateStoreItemCollection_throws_for_invalid_ssdl_catchThrowNamingConflicts_false() { var invalidSsdl = XDocument.Parse(Ssdl); var entityTypeElement = invalidSsdl.Descendants("{http://schemas.microsoft.com/ado/2009/11/edm/ssdl}EntityType").Single(); entityTypeElement.AddAfterSelf(new XElement("{http://schemas.microsoft.com/ado/2009/11/edm/ssdl}InvalidElement")); entityTypeElement.AddAfterSelf(entityTypeElement); var exception = Assert.Throws <InvalidOperationException>( () => EdmExtension.CreateAndValidateStoreItemCollection( invalidSsdl.ToString(), new Version(3, 0, 0, 0), resolver, catchThrowNamingConflicts: false)); Assert.True(exception.Message.StartsWith(Resources.ErrorNonValidSsdl.Replace("{0}", string.Empty))); var exceptionData = (IList <EdmSchemaError>)exception.Data["ssdlErrors"]; Assert.Equal(3, exceptionData.Count); Assert.True(exceptionData.All(e => exception.Message.Contains(e.Message))); }
public void CreateAndValidateStoreItemCollection_rewrites_exception_for_naming_conflicts_when_catchThrowNamingConflicts_true() { var invalidSsdl = XDocument.Parse(Ssdl); var entityTypeElement = invalidSsdl.Descendants("{http://schemas.microsoft.com/ado/2009/11/edm/ssdl}EntityType").Single(); entityTypeElement.AddAfterSelf(new XElement("{http://schemas.microsoft.com/ado/2009/11/edm/ssdl}InvalidElement")); entityTypeElement.AddAfterSelf(entityTypeElement); var exception = Assert.Throws <InvalidOperationException>( () => EdmExtension.CreateAndValidateStoreItemCollection( invalidSsdl.ToString(), new Version(3, 0, 0, 0), resolver, catchThrowNamingConflicts: true)); var exceptionData = (IList <EdmSchemaError>)exception.Data["ssdlErrors"]; Assert.Equal(string.Format(Resources.ErrorNameCollision, exceptionData[0].Message), exception.Message); Assert.Equal(3, exceptionData.Count); Assert.Contains("'AdventureWorksModel.Store.Entities'", exceptionData[0].Message); Assert.Contains("'InvalidElement'", exceptionData[1].Message); Assert.Contains("InvalidElement", exceptionData[2].Message); }