Commit 14a3d4a5 authored by Savorboard's avatar Savorboard

temporarily remove

parent 8294a586
...@@ -5,58 +5,58 @@ using Microsoft.EntityFrameworkCore; ...@@ -5,58 +5,58 @@ using Microsoft.EntityFrameworkCore;
namespace DotNetCore.CAP.EntityFrameworkCore.Test namespace DotNetCore.CAP.EntityFrameworkCore.Test
{ {
public abstract class DatabaseTestHost : TestHost //public abstract class DatabaseTestHost : TestHost
{ //{
private static bool _sqlObjectInstalled; // private static bool _sqlObjectInstalled;
protected override void PostBuildServices() // protected override void PostBuildServices()
{ // {
base.PostBuildServices(); // base.PostBuildServices();
InitializeDatabase(); // InitializeDatabase();
} // }
public override void Dispose() // public override void Dispose()
{ // {
DeleteAllData(); // DeleteAllData();
base.Dispose(); // base.Dispose();
} // }
private void InitializeDatabase() // private void InitializeDatabase()
{ // {
if (!_sqlObjectInstalled) // if (!_sqlObjectInstalled)
{ // {
using (CreateScope()) // using (CreateScope())
{ // {
var context = GetService<TestDbContext>(); // var context = GetService<TestDbContext>();
context.Database.EnsureDeleted(); // context.Database.EnsureDeleted();
context.Database.Migrate(); // context.Database.Migrate();
_sqlObjectInstalled = true; // _sqlObjectInstalled = true;
} // }
} // }
} // }
private void DeleteAllData() // private void DeleteAllData()
{ // {
using (CreateScope()) // using (CreateScope())
{ // {
var context = GetService<TestDbContext>(); // var context = GetService<TestDbContext>();
var commands = new[] // var commands = new[]
{ // {
"DISABLE TRIGGER ALL ON ?", // "DISABLE TRIGGER ALL ON ?",
"ALTER TABLE ? NOCHECK CONSTRAINT ALL", // "ALTER TABLE ? NOCHECK CONSTRAINT ALL",
"DELETE FROM ?", // "DELETE FROM ?",
"ALTER TABLE ? CHECK CONSTRAINT ALL", // "ALTER TABLE ? CHECK CONSTRAINT ALL",
"ENABLE TRIGGER ALL ON ?" // "ENABLE TRIGGER ALL ON ?"
}; // };
foreach (var command in commands) // foreach (var command in commands)
{ // {
context.Database.GetDbConnection().Execute( // context.Database.GetDbConnection().Execute(
"sp_MSforeachtable", // "sp_MSforeachtable",
new {command1 = command}, // new {command1 = command},
commandType: CommandType.StoredProcedure); // commandType: CommandType.StoredProcedure);
} // }
} // }
} // }
} //}
} }
\ No newline at end of file
using System; namespace DotNetCore.CAP.EntityFrameworkCore.Test
using System.Linq;
using DotNetCore.CAP.Infrastructure;
using DotNetCore.CAP.Models;
using Microsoft.Extensions.DependencyInjection;
using Xunit;
namespace DotNetCore.CAP.EntityFrameworkCore.Test
{ {
public class EFMessageStoreTest : DatabaseTestHost //public class EFMessageStoreTest : DatabaseTestHost
{ //{
[Fact] // [Fact]
public void CanCreateSentMessageUsingEF() // public void CanCreateSentMessageUsingEF()
{ // {
using (var db = CreateContext()) // using (var db = CreateContext())
{ // {
var guid = Guid.NewGuid().ToString(); // var guid = Guid.NewGuid().ToString();
var message = new CapSentMessage // var message = new CapPublishedMessage
{ // {
Id = guid, // Id = guid,
Content = "this is message body", // Content = "this is message body",
StatusName = StatusName.Enqueued // StatusName = StatusName.Enqueued
}; // };
db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added; // db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added;
db.SaveChanges(); // db.SaveChanges();
Assert.True(db.CapSentMessages.Any(u => u.Id == guid)); // Assert.True(db.CapSentMessages.Any(u => u.Id == guid));
Assert.NotNull(db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued)); // Assert.NotNull(db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued));
} // }
} // }
[Fact] // [Fact]
public void CanUpdateSentMessageUsingEF() // public void CanUpdateSentMessageUsingEF()
{ // {
using (var db = CreateContext()) // using (var db = CreateContext())
{ // {
var guid = Guid.NewGuid().ToString(); // var guid = Guid.NewGuid().ToString();
var message = new CapSentMessage // var message = new CapPublishedMessage
{ // {
Id = guid, // Id = guid,
Content = "this is message body", // Content = "this is message body",
StatusName = StatusName.Enqueued // StatusName = StatusName.Enqueued
}; // };
db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added; // db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added;
db.SaveChanges(); // db.SaveChanges();
var selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued); // var selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued);
Assert.NotNull(selectedMessage); // Assert.NotNull(selectedMessage);
selectedMessage.StatusName = StatusName.Succeeded; // selectedMessage.StatusName = StatusName.Succeeded;
selectedMessage.Content = "Test"; // selectedMessage.Content = "Test";
db.SaveChanges(); // db.SaveChanges();
selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Succeeded); // selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Succeeded);
Assert.NotNull(selectedMessage); // Assert.NotNull(selectedMessage);
Assert.True(selectedMessage.Content == "Test"); // Assert.True(selectedMessage.Content == "Test");
} // }
} // }
[Fact] // [Fact]
public void CanRemoveSentMessageUsingEF() // public void CanRemoveSentMessageUsingEF()
{ // {
using (var db = CreateContext()) // using (var db = CreateContext())
{ // {
var guid = Guid.NewGuid().ToString(); // var guid = Guid.NewGuid().ToString();
var message = new CapSentMessage // var message = new CapPublishedMessage
{ // {
Id = guid, // Id = guid,
Content = "this is message body", // Content = "this is message body",
StatusName = StatusName.Enqueued // StatusName = StatusName.Enqueued
}; // };
db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added; // db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added;
db.SaveChanges(); // db.SaveChanges();
var selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued); // var selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued);
Assert.NotNull(selectedMessage); // Assert.NotNull(selectedMessage);
db.CapSentMessages.Remove(selectedMessage); // db.CapSentMessages.Remove(selectedMessage);
db.SaveChanges(); // db.SaveChanges();
selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued); // selectedMessage = db.CapSentMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued);
Assert.Null(selectedMessage); // Assert.Null(selectedMessage);
} // }
} // }
[Fact] // [Fact]
public void CanCreateReceivedMessageUsingEF() // public void CanCreateReceivedMessageUsingEF()
{ // {
using (var db = CreateContext()) // using (var db = CreateContext())
{ // {
var guid = Guid.NewGuid().ToString(); // var guid = Guid.NewGuid().ToString();
var message = new CapReceivedMessage // var message = new CapReceivedMessage
{ // {
Id = guid, // Id = guid,
Content = "this is message body", // Content = "this is message body",
StatusName = StatusName.Enqueued // StatusName = StatusName.Enqueued
}; // };
db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added; // db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added;
db.SaveChanges(); // db.SaveChanges();
Assert.True(db.CapReceivedMessages.Any(u => u.Id == guid)); // Assert.True(db.CapReceivedMessages.Any(u => u.Id == guid));
Assert.NotNull(db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued)); // Assert.NotNull(db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued));
} // }
} // }
[Fact] // [Fact]
public void CanUpdateReceivedMessageUsingEF() // public void CanUpdateReceivedMessageUsingEF()
{ // {
using (var db = CreateContext()) // using (var db = CreateContext())
{ // {
var guid = Guid.NewGuid().ToString(); // var guid = Guid.NewGuid().ToString();
var message = new CapReceivedMessage // var message = new CapReceivedMessage
{ // {
Id = guid, // Id = guid,
Content = "this is message body", // Content = "this is message body",
StatusName = StatusName.Enqueued // StatusName = StatusName.Enqueued
}; // };
db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added; // db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added;
db.SaveChanges(); // db.SaveChanges();
var selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued); // var selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued);
Assert.NotNull(selectedMessage); // Assert.NotNull(selectedMessage);
selectedMessage.StatusName = StatusName.Succeeded; // selectedMessage.StatusName = StatusName.Succeeded;
selectedMessage.Content = "Test"; // selectedMessage.Content = "Test";
db.SaveChanges(); // db.SaveChanges();
selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Succeeded); // selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Succeeded);
Assert.NotNull(selectedMessage); // Assert.NotNull(selectedMessage);
Assert.True(selectedMessage.Content == "Test"); // Assert.True(selectedMessage.Content == "Test");
} // }
} // }
[Fact] // [Fact]
public void CanRemoveReceivedMessageUsingEF() // public void CanRemoveReceivedMessageUsingEF()
{ // {
using (var db = CreateContext()) // using (var db = CreateContext())
{ // {
var guid = Guid.NewGuid().ToString(); // var guid = Guid.NewGuid().ToString();
var message = new CapReceivedMessage // var message = new CapReceivedMessage
{ // {
Id = guid, // Id = guid,
Content = "this is message body", // Content = "this is message body",
StatusName = StatusName.Enqueued // StatusName = StatusName.Enqueued
}; // };
db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added; // db.Attach(message).State = Microsoft.EntityFrameworkCore.EntityState.Added;
db.SaveChanges(); // db.SaveChanges();
var selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued); // var selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued);
Assert.NotNull(selectedMessage); // Assert.NotNull(selectedMessage);
db.CapReceivedMessages.Remove(selectedMessage); // db.CapReceivedMessages.Remove(selectedMessage);
db.SaveChanges(); // db.SaveChanges();
selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued); // selectedMessage = db.CapReceivedMessages.FirstOrDefault(u => u.StatusName == StatusName.Enqueued);
Assert.Null(selectedMessage); // Assert.Null(selectedMessage);
} // }
} // }
public TestDbContext CreateContext(bool delete = false) // public TestDbContext CreateContext(bool delete = false)
{ // {
var db = Provider.GetRequiredService<TestDbContext>(); // var db = Provider.GetRequiredService<TestDbContext>();
if (delete) // if (delete)
{ // {
db.Database.EnsureDeleted(); // db.Database.EnsureDeleted();
} // }
db.Database.EnsureCreated(); // db.Database.EnsureCreated();
return db; // return db;
} // }
} //}
} }
\ No newline at end of file
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using DotNetCore.CAP.EntityFrameworkCore.Test;
namespace DotNetCore.CAP.EntityFrameworkCore.Test.Migrations
{
[DbContext(typeof(TestDbContext))]
[Migration("20170708050416_InitDB")]
partial class InitDB
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "1.1.2")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DotNetCore.CAP.Infrastructure.CapReceivedMessage", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("Added");
b.Property<string>("Content");
b.Property<string>("Group");
b.Property<string>("KeyName");
b.Property<DateTime>("LastRun");
b.Property<int>("Retries");
b.Property<string>("StatusName")
.HasMaxLength(50);
b.HasKey("Id");
b.ToTable("CapReceivedMessages");
});
modelBuilder.Entity("DotNetCore.CAP.Infrastructure.CapSentMessage", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("Added");
b.Property<string>("Content");
b.Property<string>("KeyName");
b.Property<DateTime>("LastRun");
b.Property<int>("Retries");
b.Property<string>("StatusName")
.HasMaxLength(50);
b.HasKey("Id");
b.ToTable("CapSentMessages");
});
}
}
}
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DotNetCore.CAP.EntityFrameworkCore.Test.Migrations
{
public partial class InitDB : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "CapReceivedMessages",
columns: table => new
{
Id = table.Column<string>(nullable: false),
Added = table.Column<DateTime>(nullable: false),
Content = table.Column<string>(nullable: true),
Group = table.Column<string>(nullable: true),
KeyName = table.Column<string>(nullable: true),
LastRun = table.Column<DateTime>(nullable: false),
Retries = table.Column<int>(nullable: false),
StatusName = table.Column<string>(maxLength: 50, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_CapReceivedMessages", x => x.Id);
});
migrationBuilder.CreateTable(
name: "CapSentMessages",
columns: table => new
{
Id = table.Column<string>(nullable: false),
Added = table.Column<DateTime>(nullable: false),
Content = table.Column<string>(nullable: true),
KeyName = table.Column<string>(nullable: true),
LastRun = table.Column<DateTime>(nullable: false),
Retries = table.Column<int>(nullable: false),
StatusName = table.Column<string>(maxLength: 50, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_CapSentMessages", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CapReceivedMessages");
migrationBuilder.DropTable(
name: "CapSentMessages");
}
}
}
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using DotNetCore.CAP.EntityFrameworkCore.Test;
namespace DotNetCore.CAP.EntityFrameworkCore.Test.Migrations
{
[DbContext(typeof(TestDbContext))]
partial class TestDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "1.1.2")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("DotNetCore.CAP.Infrastructure.CapReceivedMessage", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("Added");
b.Property<string>("Content");
b.Property<string>("Group");
b.Property<string>("KeyName");
b.Property<DateTime>("LastRun");
b.Property<int>("Retries");
b.Property<string>("StatusName")
.HasMaxLength(50);
b.HasKey("Id");
b.ToTable("CapReceivedMessages");
});
modelBuilder.Entity("DotNetCore.CAP.Infrastructure.CapSentMessage", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd();
b.Property<DateTime>("Added");
b.Property<string>("Content");
b.Property<string>("KeyName");
b.Property<DateTime>("LastRun");
b.Property<int>("Retries");
b.Property<string>("StatusName")
.HasMaxLength(50);
b.HasKey("Id");
b.ToTable("CapSentMessages");
});
}
}
}
using Microsoft.EntityFrameworkCore;
namespace DotNetCore.CAP.EntityFrameworkCore.Test
{
public class TestDbContext : CapDbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = ConnectionUtil.GetConnectionString();
optionsBuilder.UseSqlServer(connectionString);
}
}
}
\ No newline at end of file
...@@ -29,7 +29,7 @@ namespace DotNetCore.CAP.EntityFrameworkCore.Test ...@@ -29,7 +29,7 @@ namespace DotNetCore.CAP.EntityFrameworkCore.Test
var connectionString = ConnectionUtil.GetConnectionString(); var connectionString = ConnectionUtil.GetConnectionString();
//services.AddSingleton(new SqlServerOptions { ConnectionString = connectionString }); //services.AddSingleton(new SqlServerOptions { ConnectionString = connectionString });
services.AddDbContext<TestDbContext>(options => options.UseSqlServer(connectionString)); //services.AddDbContext<TestDbContext>(options => options.UseSqlServer(connectionString));
_services = services; _services = services;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment