using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using NUnit.Framework; using Umbraco.Cms.Core.Configuration; using Umbraco.Cms.Tests.Common.Testing; using Umbraco.Core.Configuration; using Umbraco.Core.Migrations.Install; using Umbraco.Core.Persistence.Dtos; using Umbraco.Tests.Integration.Testing; namespace Umbraco.Tests.Persistence { [TestFixture] [UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)] public class SqlServerTableByTableTest : UmbracoIntegrationTest { private IUmbracoVersion UmbracoVersion => GetRequiredService(); private static ILoggerFactory _loggerFactory = NullLoggerFactory.Instance; [Test] public void Can_Create_umbracoNode_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoAccess_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoAccessRule_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsContentType2ContentType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsContentTypeAllowedContentType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsContentType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_ContentVersion_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsDataType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsDictionary_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsLanguageText_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsTemplate_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_Document_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_DocumentType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoDomains_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoLanguage_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoLog_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsMacro_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsMember_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsMember2MemberGroup_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsMemberType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_PropertyData_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsPropertyType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsPropertyTypeGroup_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoRelation_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoRelationType_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsTags_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_cmsTagRelationship_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoUser_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoUserGroup_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoUser2NodeNotify_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } public void Can_Create_umbracoGroupUser2app_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } [Test] public void Can_Create_umbracoUserGroup2NodePermission_Table() { using (var scope = ScopeProvider.CreateScope()) { var helper = new DatabaseSchemaCreator(scope.Database, _loggerFactory.CreateLogger(), _loggerFactory, UmbracoVersion); helper.CreateTable(); helper.CreateTable(); helper.CreateTable(); scope.Complete(); } } } }