From fd922124db604b3b03c330162d24016504f4ed6b Mon Sep 17 00:00:00 2001 From: Shay Rojansky Date: Tue, 17 May 2016 02:02:07 +0300 Subject: [PATCH] Completed scaffolding sequences tests --- ...e.PostgreSQL.Design.FunctionalTests.csproj | 6 +++++ .../ColumnsWithSequencesContext.expected | 26 +++++++++++++++---- .../IDNonSerialSequence.expected | 12 +++++++++ .../IDSerialSequence.expected | 12 +++++++++ .../NonSerialSequence.expected | 3 ++- .../SerialSequence.expected | 1 + .../ReverseEngineering/NpgsqlE2ETests.cs | 6 +++-- 7 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDNonSerialSequence.expected create mode 100644 test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDSerialSequence.expected diff --git a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests.csproj b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests.csproj index 43e0601e..45a39c76 100644 --- a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests.csproj +++ b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests.csproj @@ -70,6 +70,12 @@ + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/ColumnsWithSequencesContext.expected b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/ColumnsWithSequencesContext.expected index 87803737..d306d3c2 100644 --- a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/ColumnsWithSequencesContext.expected +++ b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/ColumnsWithSequencesContext.expected @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata; namespace E2ETest.Namespace { - public partial class ColumnsWithSequences : DbContext + public partial class ColumnsWithSequencesContext : DbContext { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { @@ -13,16 +13,32 @@ namespace E2ETest.Namespace protected override void OnModelCreating(ModelBuilder modelBuilder) { + modelBuilder.Entity(entity => + { + entity.Property(e => e.Id).HasDefaultValueSql("nextval('\"IDSomeSequence\"'::regclass)"); + }); + modelBuilder.Entity(entity => { - entity.Property(e => e.id) - .HasDefaultValueSql("nextval('some_sequence'::regclass)") - .ValueGeneratedNever(); + entity.Property(e => e.Id).ValueGeneratedNever(); + + entity.Property(e => e.SomeField).HasDefaultValueSql("nextval('\"SomeSequence\"'::regclass)"); }); - modelBuilder.HasSequence("some_sequence"); + modelBuilder.Entity(entity => + { + entity.Property(e => e.Id).ValueGeneratedNever(); + + entity.Property(e => e.SomeField).ValueGeneratedOnAdd(); + }); + + modelBuilder.HasSequence("IDSomeSequence"); + + modelBuilder.HasSequence("SomeSequence"); } + public virtual DbSet IDNonSerialSequence { get; set; } + public virtual DbSet IDSerialSequence { get; set; } public virtual DbSet NonSerialSequence { get; set; } public virtual DbSet SerialSequence { get; set; } } diff --git a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDNonSerialSequence.expected b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDNonSerialSequence.expected new file mode 100644 index 00000000..952f7b8b --- /dev/null +++ b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDNonSerialSequence.expected @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace E2ETest.Namespace +{ + public partial class IDNonSerialSequence + { + public int Id { get; set; } + } +} diff --git a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDSerialSequence.expected b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDSerialSequence.expected new file mode 100644 index 00000000..6a1930f5 --- /dev/null +++ b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/IDSerialSequence.expected @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace E2ETest.Namespace +{ + public partial class IDSerialSequence + { + public int Id { get; set; } + } +} diff --git a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/NonSerialSequence.expected b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/NonSerialSequence.expected index c4e6552e..2d7f7d91 100644 --- a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/NonSerialSequence.expected +++ b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/NonSerialSequence.expected @@ -7,6 +7,7 @@ namespace E2ETest.Namespace { public partial class NonSerialSequence { - public int SomeField { get; set; } + public int Id { get; set; } + public int? SomeField { get; set; } } } diff --git a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/SerialSequence.expected b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/SerialSequence.expected index f63cedf5..82ccfdec 100644 --- a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/SerialSequence.expected +++ b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/ExpectedResults/ColumnsWithSequences/SerialSequence.expected @@ -7,6 +7,7 @@ namespace E2ETest.Namespace { public partial class SerialSequence { + public int Id { get; set; } public int SomeField { get; set; } } } diff --git a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/NpgsqlE2ETests.cs b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/NpgsqlE2ETests.cs index 9440dc01..b6083e25 100644 --- a/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/NpgsqlE2ETests.cs +++ b/test/Npgsql.EntityFrameworkCore.PostgreSQL.Design.FunctionalTests/ReverseEngineering/NpgsqlE2ETests.cs @@ -259,7 +259,7 @@ public void ColumnsWithSequences() ConnectionString = scratch.Connection.ConnectionString, ProjectPath = TestProjectDir + Path.DirectorySeparatorChar, ProjectRootNamespace = TestNamespace, - ContextClassName = "ColumnsWithSequences", + ContextClassName = "ColumnsWithSequencesContext", }; var expectedFileSet = new FileSet(new FileSystemFileService(), Path.Combine("ReverseEngineering", "ExpectedResults", "ColumnsWithSequences"), @@ -268,6 +268,8 @@ public void ColumnsWithSequences() Files = new List { "ColumnsWithSequencesContext.expected", + "IDNonSerialSequence.expected", + "IDSerialSequence.expected", "NonSerialSequence.expected", "SerialSequence.expected" } @@ -280,7 +282,7 @@ public void ColumnsWithSequences() Files = new[] { filePaths.ContextFile }.Concat(filePaths.EntityTypeFiles).Select(Path.GetFileName).ToList() }; - throw new Exception(actualFileSet.Contents(0)); + //throw new Exception(actualFileSet.Contents(0)); AssertEqualFileContents(expectedFileSet, actualFileSet); AssertCompile(actualFileSet); } -- GitLab