Merge branch 'netcore/netcore' into feature/8651-config-options-patten

# Conflicts:
#	src/Umbraco.Tests.Integration/Persistence/Repositories/DictionaryRepositoryTest.cs
#	src/Umbraco.Tests.Integration/Persistence/Repositories/LanguageRepositoryTest.cs
#	src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
#	src/Umbraco.Tests/Services/UserServiceTests.cs
This commit is contained in:
Andy Butland
2020-08-27 18:58:12 +02:00
20 changed files with 430 additions and 473 deletions

View File

@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
namespace Umbraco.Tests.TestHelpers.Entities
{

View File

@@ -1,12 +1,16 @@
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Strings;
namespace Umbraco.Tests.TestHelpers.Entities
{
public class MockedUserGroup
{
internal static UserGroup CreateUserGroup(string suffix = "", string[] permissions = null, string[] allowedSections = null)
public static IShortStringHelper ShortStringHelper { get; } =
new DefaultShortStringHelper(new DefaultShortStringHelperConfig());
public static UserGroup CreateUserGroup(string suffix = "", string[] permissions = null, string[] allowedSections = null)
{
var group = new UserGroup(TestHelper.ShortStringHelper)
var group = new UserGroup(ShortStringHelper)
{
Alias = "testUserGroup" + suffix,
Name = "TestUserGroup" + suffix,

View File

@@ -101,10 +101,11 @@ namespace Umbraco.Tests.Integration.Extensions
break;
case UmbracoTestOptions.Database.NewSchemaPerFixture:
throw new NotImplementedException();
// New DB + Schema
var newSchemaFixtureDbId = db.AttachSchema();
//// Add teardown callback
//integrationTest.OnFixtureTearDown(() => db.Detach());
// Add teardown callback
integrationTest.OnFixtureTearDown(() => db.Detach(newSchemaFixtureDbId));
break;
case UmbracoTestOptions.Database.NewEmptyPerFixture:

View File

@@ -4,43 +4,42 @@ using System.Linq;
using NUnit.Framework;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
using Umbraco.Core;
using Umbraco.Core.Composing;
using Umbraco.Core.Services;
using Umbraco.Tests.Common.Builders;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class DictionaryRepositoryTest : TestWithDatabaseBase
public class DictionaryRepositoryTest : UmbracoIntegrationTest
{
public override void SetUp()
[SetUp]
public void SetUp()
{
base.SetUp();
CreateTestData();
}
private IDictionaryRepository CreateRepository()
{
return Factory.GetInstance<IDictionaryRepository>();
return GetRequiredService<IDictionaryRepository>();
}
[Test]
public void Can_Perform_Get_By_Key_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var localizationService = GetRequiredService<ILocalizationService>();
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235")
{
Translations = new List<IDictionaryTranslation>
{
new DictionaryTranslation(ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"), "Hello world")
new DictionaryTranslation(localizationService.GetLanguageByIsoCode("en-US"), "Hello world")
}
};
@@ -56,22 +55,22 @@ namespace Umbraco.Tests.Persistence.Repositories
Assert.That(dictionaryItem.Translations.Any(x => x == null), Is.False);
Assert.That(dictionaryItem.Translations.First().Value, Is.EqualTo("Hello world"));
}
}
[Test]
public void Can_Perform_Get_By_UniqueId_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var localizationService = GetRequiredService<ILocalizationService>();
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235")
{
Translations = new List<IDictionaryTranslation>
{
new DictionaryTranslation(ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"), "Hello world")
new DictionaryTranslation(localizationService.GetLanguageByIsoCode("en-US"), "Hello world")
}
};
@@ -93,15 +92,16 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Get_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var localizationService = GetRequiredService<ILocalizationService>();
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
var dictionaryItem = (IDictionaryItem)new DictionaryItem("Testing1235")
{
Translations = new List<IDictionaryTranslation>
{
new DictionaryTranslation(ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US"), "Hello world")
new DictionaryTranslation(localizationService.GetLanguageByIsoCode("en-US"), "Hello world")
}
};
@@ -118,15 +118,14 @@ namespace Umbraco.Tests.Persistence.Repositories
Assert.That(dictionaryItem.Translations.Any(x => x == null), Is.False);
Assert.That(dictionaryItem.Translations.First().Value, Is.EqualTo("Hello world"));
}
}
[Test]
public void Can_Perform_Get_On_DictionaryRepository_When_No_Language_Assigned()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
var dictionaryItem = (IDictionaryItem) new DictionaryItem("Testing1235");
@@ -142,15 +141,14 @@ namespace Umbraco.Tests.Persistence.Repositories
Assert.That(dictionaryItem.ItemKey, Is.EqualTo("Testing1235"));
Assert.That(dictionaryItem.Translations.Any(), Is.False);
}
}
[Test]
public void Can_Perform_GetAll_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
@@ -170,8 +168,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetAll_With_Params_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
@@ -190,13 +188,13 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetByQuery_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
// Act
var query = scope.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey == "Article");
var query = provider.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey == "Article");
var result = repository.Get(query);
// Assert
@@ -210,13 +208,13 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Count_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
// Act
var query = scope.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey.StartsWith("Read"));
var query = provider.SqlContext.Query<IDictionaryItem>().Where(x => x.ItemKey.StartsWith("Read"));
var result = repository.Count(query);
// Assert
@@ -228,19 +226,19 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var languageRepository = Factory.GetInstance<ILanguageRepository>();
var languageRepository = GetRequiredService<ILanguageRepository>();
var repository = CreateRepository();
var language = languageRepository.Get(1);
var read = new DictionaryItem("Read");
var translations = new List<IDictionaryTranslation>
{
new DictionaryTranslation(language, "Read")
};
{
new DictionaryTranslation(language, "Read")
};
read.Translations = translations;
// Act
@@ -258,8 +256,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
@@ -284,14 +282,15 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_WithNewTranslation_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var localizationService = GetRequiredService<ILocalizationService>();
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
var globalSettings = new GlobalSettingsBuilder().Build();
var languageNo = new Language(globalSettings, "nb-NO") { CultureName = "nb-NO" };
ServiceContext.LocalizationService.Save(languageNo);
localizationService.Save(languageNo);
// Act
var item = repository.Get(1);
@@ -314,8 +313,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
@@ -334,8 +333,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Exists_On_DictionaryRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
@@ -352,8 +351,8 @@ namespace Umbraco.Tests.Persistence.Repositories
{
Dictionary<string, Guid> keyMap;
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository();
keyMap = repository.GetDictionaryItemKeyMap();
@@ -365,19 +364,14 @@ namespace Umbraco.Tests.Persistence.Repositories
Console.WriteLine("{0}: {1}", kvp.Key, kvp.Value);
}
[TearDown]
public override void TearDown()
{
base.TearDown();
}
public void CreateTestData()
{
var language = ServiceContext.LocalizationService.GetLanguageByIsoCode("en-US");
var localizationService = GetRequiredService<ILocalizationService>();
var language = localizationService.GetLanguageByIsoCode("en-US");
var globalSettings = new GlobalSettingsBuilder().Build();
var languageDK = new Language(globalSettings, "da-DK") { CultureName = "da-DK" };
ServiceContext.LocalizationService.Save(languageDK);//Id 2
localizationService.Save(languageDK);//Id 2
var readMore = new DictionaryItem("Read More");
var translations = new List<IDictionaryTranslation>
@@ -386,7 +380,7 @@ namespace Umbraco.Tests.Persistence.Repositories
new DictionaryTranslation(languageDK, "Læs mere")
};
readMore.Translations = translations;
ServiceContext.LocalizationService.Save(readMore);//Id 1
localizationService.Save(readMore);//Id 1
var article = new DictionaryItem("Article");
var translations2 = new List<IDictionaryTranslation>
@@ -395,7 +389,7 @@ namespace Umbraco.Tests.Persistence.Repositories
new DictionaryTranslation(languageDK, "Artikel")
};
article.Translations = translations2;
ServiceContext.LocalizationService.Save(article);//Id 2
localizationService.Save(article);//Id 2
}
}
}

View File

@@ -4,20 +4,19 @@ using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Core.Services;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Mapper = true, Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class EntityRepositoryTest : TestWithDatabaseBase
public class EntityRepositoryTest : UmbracoIntegrationTest
{
private EntityRepository CreateRepository(IScopeAccessor scopeAccessor)
{
var entityRepository = new EntityRepository(scopeAccessor);
@@ -29,36 +28,44 @@ namespace Umbraco.Tests.Persistence.Repositories
{
//Create content
var contentService = GetRequiredService<IContentService>();
var contentTypeService = GetRequiredService<IContentTypeService>();
var createdContent = new List<IContent>();
var contentType = MockedContentTypes.CreateBasicContentType("blah");
ServiceContext.ContentTypeService.Save(contentType);
for (int i = 0; i < 10; i++)
contentTypeService.Save(contentType);
for (var i = 0; i < 10; i++)
{
var c1 = MockedContent.CreateBasicContent(contentType);
ServiceContext.ContentService.Save(c1);
contentService.Save(c1);
createdContent.Add(c1);
}
//Create media
var mediaService = GetRequiredService<IMediaService>();
var mediaTypeService = GetRequiredService<IMediaTypeService>();
var createdMedia = new List<IMedia>();
var imageType = MockedContentTypes.CreateImageMediaType("myImage");
ServiceContext.MediaTypeService.Save(imageType);
for (int i = 0; i < 10; i++)
mediaTypeService.Save(imageType);
for (var i = 0; i < 10; i++)
{
var c1 = MockedMedia.CreateMediaImage(imageType, -1);
ServiceContext.MediaService.Save(c1);
mediaService.Save(c1);
createdMedia.Add(c1);
}
// Create members
var memberType = MockedContentTypes.CreateSimpleMemberType("simple");
ServiceContext.MemberTypeService.Save(memberType);
var createdMembers = MockedMember.CreateSimpleMember(memberType, 10).ToList();
ServiceContext.MemberService.Save(createdMembers);
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var memberService = GetRequiredService<IMemberService>();
var memberTypeService = GetRequiredService<IMemberTypeService>();
var memberType = MockedContentTypes.CreateSimpleMemberType("simple");
memberTypeService.Save(memberType);
var createdMembers = MockedMember.CreateSimpleMember(memberType, 10).ToList();
memberService.Save(createdMembers);
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repo = CreateRepository((IScopeAccessor)provider);
@@ -66,7 +73,7 @@ namespace Umbraco.Tests.Persistence.Repositories
var objectTypes = new[] { Constants.ObjectTypes.Document, Constants.ObjectTypes.Media, Constants.ObjectTypes.Member };
var query = SqlContext.Query<IUmbracoEntity>()
var query = provider.SqlContext.Query<IUmbracoEntity>()
.WhereIn(e => e.Id, ids);
var entities = repo.GetPagedResultsByQuery(query, objectTypes, 0, 20, out var totalRecords, null, null).ToList();
@@ -88,8 +95,6 @@ namespace Umbraco.Tests.Persistence.Repositories
Assert.AreEqual(10, mediaEntities.Count);
Assert.AreEqual(10, memberEntities.Count);
}
}
}
}

View File

@@ -4,19 +4,19 @@ using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class KeyValueRepositoryTests : TestWithDatabaseBase
public class KeyValueRepositoryTests : UmbracoIntegrationTest
{
[Test]
public void CanSetAndGet()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
// Insert new key/value
using (var scope = provider.CreateScope())

View File

@@ -1,46 +1,43 @@
using System;
using System.Globalization;
using System.Linq;
using Moq;
using NUnit.Framework;
using Umbraco.Core.Cache;
using Umbraco.Core.Configuration.Models;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Core.Services;
using Umbraco.Tests.Common.Builders;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class LanguageRepositoryTest : TestWithDatabaseBase
public class LanguageRepositoryTest : UmbracoIntegrationTest
{
private GlobalSettings _globalSettings;
public override void SetUp()
[SetUp]
public void SetUp()
{
base.SetUp();
CreateTestData();
_globalSettings = new GlobalSettingsBuilder().Build();
}
private LanguageRepository CreateRepository(IScopeProvider provider)
{
return new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), Microsoft.Extensions.Options.Options.Create(_globalSettings));
return new LanguageRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, Microsoft.Extensions.Options.Options.Create(_globalSettings));
}
[Test]
public void Can_Perform_Get_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
scope.Database.AsUmbracoDatabase().EnableSqlTrace = true;
@@ -61,8 +58,8 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void Can_Perform_Get_By_Iso_Code_On_LanguageRepository()
{
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -90,8 +87,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Get_When_Id_Doesnt_Exist_Returns_Null()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -107,8 +104,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetAll_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -127,8 +124,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetAll_With_Params_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -147,7 +144,7 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetByQuery_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -167,7 +164,7 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Count_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -185,8 +182,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -207,8 +204,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_On_LanguageRepository_With_Boolean_Properties()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -229,17 +226,17 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_On_LanguageRepository_With_Fallback_Language()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
// Act
var languageBR = new Language(_globalSettings, "pt-BR")
{
CultureName = "pt-BR",
FallbackLanguageId = 1
};
{
CultureName = "pt-BR",
FallbackLanguageId = 1
};
repository.Save(languageBR);
// Assert
@@ -253,8 +250,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_On_LanguageRepository_With_New_Default()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -281,8 +278,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -308,8 +305,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Perform_Update_With_Existing_Culture()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -326,8 +323,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -346,8 +343,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_On_LanguageRepository_With_Language_Used_As_Fallback()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
// Add language to delete as a fall-back language to another one
var repository = CreateRepository(provider);
@@ -370,8 +367,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Exists_On_LanguageRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -385,27 +382,22 @@ namespace Umbraco.Tests.Persistence.Repositories
}
}
[TearDown]
public override void TearDown()
{
base.TearDown();
}
private void CreateTestData()
{
//Id 1 is en-US - when Umbraco is installed
var localizationService = GetRequiredService<ILocalizationService>();
var languageDK = new Language(_globalSettings, "da-DK") { CultureName = "da-DK" };
ServiceContext.LocalizationService.Save(languageDK);//Id 2
localizationService.Save(languageDK);//Id 2
var languageSE = new Language(_globalSettings, "sv-SE") { CultureName = "sv-SE" };
ServiceContext.LocalizationService.Save(languageSE);//Id 3
localizationService.Save(languageSE);//Id 3
var languageDE = new Language(_globalSettings, "de-DE") { CultureName = "de-DE" };
ServiceContext.LocalizationService.Save(languageDE);//Id 4
localizationService.Save(languageDE);//Id 4
var languagePT = new Language(_globalSettings, "pt-PT") { CultureName = "pt-PT" };
ServiceContext.LocalizationService.Save(languagePT);//Id 5
localizationService.Save(languagePT);//Id 5
}
}
}

View File

@@ -1,30 +1,23 @@
using System.Data.SqlServerCe;
using System.Data.SqlClient;
using System.Linq;
using Moq;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class MacroRepositoryTest : TestWithDatabaseBase
public class MacroRepositoryTest : UmbracoIntegrationTest
{
public override void SetUp()
[SetUp]
public void SetUp()
{
base.SetUp();
CreateTestData();
}
@@ -32,44 +25,41 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Cannot_Add_Duplicate_Macros()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = new Macro(ShortStringHelper, "test1", "Test", "~/views/macropartials/test.cshtml");
;
Assert.Throws<SqlCeException>(() => repository.Save(macro));
Assert.Throws<SqlException>(() => repository.Save(macro));
}
}
[Test]
public void Cannot_Update_To_Duplicate_Macro_Alias()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = repository.Get(1);
macro.Alias = "test2";
Assert.Throws<SqlCeException>(() => repository.Save(macro));
Assert.Throws<SqlException>(() => repository.Save(macro));
}
}
[Test]
public void Can_Instantiate_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Assert
Assert.That(repository, Is.Not.Null);
@@ -80,10 +70,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Get_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var macro = repository.Get(1);
@@ -100,18 +90,16 @@ namespace Umbraco.Tests.Persistence.Repositories
Assert.That(macro.MacroSource, Is.EqualTo("~/views/macropartials/test1.cshtml"));
Assert.That(macro.UseInEditor, Is.EqualTo(false));
}
}
[Test]
public void Can_Perform_GetAll_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var macros = repository.GetMany();
@@ -119,21 +107,20 @@ namespace Umbraco.Tests.Persistence.Repositories
// Assert
Assert.That(macros.Count(), Is.EqualTo(3));
}
}
[Test]
public void Can_Perform_GetByQuery_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var query = scope.SqlContext.Query<IMacro>().Where(x => x.Alias.ToUpper() == "TEST1");
var result = repository.Get(query);
var result = repository.Get((IQuery<IMacro>) query);
// Assert
Assert.AreEqual(1, result.Count());
@@ -144,10 +131,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Count_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var query = scope.SqlContext.Query<IMacro>().Where(x => x.Name.StartsWith("Test"));
@@ -162,10 +149,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var macro = new Macro(ShortStringHelper, "test", "Test", "~/views/macropartials/test.cshtml");
@@ -183,10 +170,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var macro = repository.Get(2);
@@ -218,10 +205,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var macro = repository.Get(3);
@@ -239,10 +226,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Exists_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
// Act
var exists = repository.Exists(3);
@@ -258,10 +245,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Add_Property_For_Macro()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = repository.Get(1);
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
@@ -284,10 +271,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Add_New_Macro_With_Property()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml");
macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor"));
@@ -309,10 +296,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Remove_Macro_Property()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml");
macro.Properties.Add(new MacroProperty("blah1", "New1", 4, "test.editor"));
@@ -333,10 +320,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Add_Remove_Macro_Properties()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = new Macro(ShortStringHelper, "newmacro", "A new macro", "~/views/macropartials/test1.cshtml");
var prop1 = new MacroProperty("blah1", "New1", 4, "test.editor");
@@ -364,10 +351,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Update_Property_For_Macro()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = repository.Get(1);
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
@@ -391,10 +378,10 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Update_Macro_Property_Alias()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = provider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
var macro = repository.Get(1);
macro.Properties.Add(new MacroProperty("new1", "New1", 3, "test"));
@@ -411,25 +398,18 @@ namespace Umbraco.Tests.Persistence.Repositories
}
}
[TearDown]
public override void TearDown()
{
base.TearDown();
}
public void CreateTestData()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
var repository = new MacroRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, ShortStringHelper);
repository.Save(new Macro(ShortStringHelper, "test1", "Test1", "~/views/macropartials/test1.cshtml"));
repository.Save(new Macro(ShortStringHelper, "test2", "Test2", "~/views/macropartials/test2.cshtml"));
repository.Save(new Macro(ShortStringHelper, "test3", "Tet3", "~/views/macropartials/test3.cshtml"));
scope.Complete();
}
}
}
}

View File

@@ -7,22 +7,21 @@ using Umbraco.Core;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class NotificationsRepositoryTest : TestWithDatabaseBase
public class NotificationsRepositoryTest : UmbracoIntegrationTest
{
[Test]
public void CreateNotification()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repo = new NotificationsRepository((IScopeAccessor) provider);
@@ -56,10 +55,9 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void GetUserNotifications()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repo = new NotificationsRepository((IScopeAccessor) provider);
var userDto = new UserDto { Email = "test", Login = "test", Password = "test", UserName = "test", UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now };
@@ -85,10 +83,9 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void GetEntityNotifications()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repo = new NotificationsRepository((IScopeAccessor) provider);
var node1 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,1", SortOrder = 1, Text = "hello1", Trashed = false, UniqueId = Guid.NewGuid(), UserId = -1 };
@@ -115,10 +112,9 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void Delete_By_Entity()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repo = new NotificationsRepository((IScopeAccessor) provider);
var node1 = new NodeDto { CreateDate = DateTime.Now, Level = 1, NodeObjectType = Constants.ObjectTypes.ContentItem, ParentId = -1, Path = "-1,1", SortOrder = 1, Text = "hello1", Trashed = false, UniqueId = Guid.NewGuid(), UserId = -1 };
@@ -145,10 +141,9 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void Delete_By_User()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repo = new NotificationsRepository((IScopeAccessor) provider);
var userDto = new UserDto { Email = "test", Login = "test", Password = "test", UserName = "test", UserLanguage = "en", CreateDate = DateTime.Now, UpdateDate = DateTime.Now };

View File

@@ -1,32 +1,31 @@
using System;
using System.Linq;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Core.Services;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class RedirectUrlRepositoryTests : TestWithDatabaseBase
public class RedirectUrlRepositoryTests : UmbracoIntegrationTest
{
public override void SetUp()
[SetUp]
public void SetUp()
{
base.SetUp();
CreateTestData();
}
[Test]
public void CanSaveAndGet()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
@@ -56,7 +55,7 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void CanSaveAndGetMostRecent()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
Assert.AreNotEqual(_textpage.Id, _otherpage.Id);
@@ -104,7 +103,7 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void CanSaveAndGetByContent()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
@@ -148,7 +147,7 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void CanSaveAndDelete()
{
var provider = TestObjects.GetScopeProvider(Logger);
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
@@ -195,32 +194,35 @@ namespace Umbraco.Tests.Persistence.Repositories
public void CreateTestData()
{
var fileService = GetRequiredService<IFileService>();
var contentService = GetRequiredService<IContentService>();
var contentTypeService = GetRequiredService<IContentTypeService>();
//Create and Save ContentType "umbTextpage" -> (NodeDto.NodeIdSeed)
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage", "Textpage");
contentType.Key = Guid.NewGuid();
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
ServiceContext.ContentTypeService.Save(contentType);
fileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
contentTypeService.Save(contentType);
//Create and Save Content "Homepage" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 1)
_textpage = MockedContent.CreateSimpleContent(contentType);
_textpage.Key = Guid.NewGuid();
ServiceContext.ContentService.Save(_textpage);
contentService.Save(_textpage);
//Create and Save Content "Text Page 1" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 2)
_subpage = MockedContent.CreateSimpleContent(contentType, "Text Page 1", _textpage.Id);
_subpage.Key = Guid.NewGuid();
ServiceContext.ContentService.Save(_subpage);
contentService.Save(_subpage);
//Create and Save Content "Text Page 1" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 3)
_otherpage = MockedContent.CreateSimpleContent(contentType, "Text Page 2", _textpage.Id);
_otherpage.Key = Guid.NewGuid();
ServiceContext.ContentService.Save(_otherpage);
contentService.Save(_otherpage);
//Create and Save Content "Text Page Deleted" based on "umbTextpage" -> (NodeDto.NodeIdSeed + 4)
_trashed = MockedContent.CreateSimpleContent(contentType, "Text Page Deleted", -20);
_trashed.Key = Guid.NewGuid();
((Content) _trashed).Trashed = true;
ServiceContext.ContentService.Save(_trashed);
contentService.Save(_trashed);
}
}
}

View File

@@ -1,43 +1,36 @@
using System;
using System.Linq;
using Moq;
using System.Linq;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Dtos;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class RelationTypeRepositoryTest : TestWithDatabaseBase
public class RelationTypeRepositoryTest : UmbracoIntegrationTest
{
public override void SetUp()
[SetUp]
public void SetUp()
{
base.SetUp();
CreateTestData();
}
private RelationTypeRepository CreateRepository(IScopeProvider provider)
{
return new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>());
return new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger);
}
[Test]
public void Can_Perform_Add_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -56,8 +49,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -81,8 +74,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -101,13 +94,13 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Get_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
// Act
var relationType = repository.Get(RelationTypeDto.NodeIdSeed + 2);
var relationType = repository.Get(8);
// Assert
Assert.That(relationType, Is.Not.Null);
@@ -124,8 +117,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetAll_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -144,8 +137,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetAll_With_Params_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -164,14 +157,14 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Exists_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
// Act
var exists = repository.Exists(3);
var doesntExist = repository.Exists(6);
var doesntExist = repository.Exists(9);
// Assert
Assert.That(exists, Is.True);
@@ -183,8 +176,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Count_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -201,8 +194,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetByQuery_On_RelationTypeRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -219,22 +212,16 @@ namespace Umbraco.Tests.Persistence.Repositories
}
}
[TearDown]
public override void TearDown()
{
base.TearDown();
}
public void CreateTestData()
{
var relateContent = new RelationType("Relate Content on Copy", "relateContentOnCopy", true, Constants.ObjectTypes.Document, Constants.ObjectTypes.Document);
var relateContentType = new RelationType("Relate ContentType on Copy", "relateContentTypeOnCopy", true, Constants.ObjectTypes.DocumentType, Constants.ObjectTypes.DocumentType);
var relateContentMedia = new RelationType("Relate Content to Media", "relateContentToMedia", true, Constants.ObjectTypes.Document, Constants.ObjectTypes.Media);
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Mock.Of<ILogger>());
var repository = new RelationTypeRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger);
repository.Save(relateContent);//Id 2
repository.Save(relateContentType);//Id 3

View File

@@ -1,27 +1,25 @@
using System;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
using System.Linq;
using NUnit.Framework;
using Umbraco.Core.Cache;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class ServerRegistrationRepositoryTest : TestWithDatabaseBase
public class ServerRegistrationRepositoryTest : UmbracoIntegrationTest
{
private AppCaches _appCaches;
public override void SetUp()
[SetUp]
public void SetUp()
{
base.SetUp();
_appCaches = AppCaches.Disabled;
CreateTestData();
}
@@ -35,41 +33,39 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Cannot_Add_Duplicate_Server_Identities()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
var server = new ServerRegistration("http://shazwazza.com", "COMPUTER1", DateTime.Now);
Assert.Throws<SqlCeException>(() => repository.Save(server));
Assert.Throws<SqlException>(() => repository.Save(server));
}
}
[Test]
public void Cannot_Update_To_Duplicate_Server_Identities()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
var server = repository.Get(1);
server.ServerIdentity = "COMPUTER2";
Assert.Throws<SqlCeException>(() => repository.Save(server));
Assert.Throws<SqlException>(() => repository.Save(server));
}
}
[Test]
public void Can_Instantiate_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -82,8 +78,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Get_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -95,16 +91,14 @@ namespace Umbraco.Tests.Persistence.Repositories
Assert.That(server.HasIdentity, Is.True);
Assert.That(server.ServerAddress, Is.EqualTo("http://localhost"));
}
}
[Test]
public void Can_Perform_GetAll_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -114,7 +108,6 @@ namespace Umbraco.Tests.Persistence.Repositories
// Assert
Assert.That(servers.Count(), Is.EqualTo(3));
}
}
// queries are not supported due to in-memory caching
@@ -123,7 +116,7 @@ namespace Umbraco.Tests.Persistence.Repositories
//public void Can_Perform_GetByQuery_On_Repository()
//{
// // Arrange
// var provider = TestObjects.GetScopeProvider(Logger);
// var provider = ScopeProvider;
// using (var unitOfWork = provider.GetUnitOfWork())
// using (var repository = CreateRepository(provider))
// {
@@ -140,7 +133,7 @@ namespace Umbraco.Tests.Persistence.Repositories
//public void Can_Perform_Count_On_Repository()
//{
// // Arrange
// var provider = TestObjects.GetScopeProvider(Logger);
// var provider = ScopeProvider;
// using (var unitOfWork = provider.GetUnitOfWork())
// using (var repository = CreateRepository(provider))
// {
@@ -157,8 +150,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -176,8 +169,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -201,8 +194,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -222,8 +215,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Exists_On_Repository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -237,16 +230,10 @@ namespace Umbraco.Tests.Persistence.Repositories
}
}
[TearDown]
public override void TearDown()
{
base.TearDown();
}
public void CreateTestData()
{
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -255,7 +242,6 @@ namespace Umbraco.Tests.Persistence.Repositories
repository.Save(new ServerRegistration("https://www.another.domain.com", "Computer3", DateTime.Now));
scope.Complete();
}
}
}
}

View File

@@ -1,9 +1,8 @@
using System.Linq;
using NUnit.Framework;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
public class SimilarNodeNameTests
@@ -36,8 +35,6 @@ namespace Umbraco.Tests.Persistence.Repositories
Assert.IsTrue(result > 0, "Expected >0 but was " + result);
}
[Test]
public void OrderByTest()
{

View File

@@ -7,24 +7,24 @@ using Moq;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Composing;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
using Umbraco.Core.Models;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Scoping;
using Umbraco.Core.Services;
using Umbraco.Tests.Common.Builders;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Implementations;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class TemplateRepositoryTest : TestWithDatabaseBase
public class TemplateRepositoryTest : UmbracoIntegrationTest
{
private IFileSystems _fileSystems;
@@ -33,12 +33,12 @@ namespace Umbraco.Tests.Persistence.Repositories
return new TemplateRepository((IScopeAccessor) provider, AppCaches.Disabled, Logger, _fileSystems, IOHelper, ShortStringHelper);
}
public override void SetUp()
[SetUp]
public void SetUp()
{
base.SetUp();
var testHelper = new TestHelper();
_fileSystems = Mock.Of<IFileSystems>();
var viewsFileSystem = new PhysicalFileSystem(IOHelper, HostingEnvironment, Logger, Constants.SystemDirectories.MvcViews);
var viewsFileSystem = new PhysicalFileSystem(IOHelper, testHelper.GetHostingEnvironment(), Logger, Constants.SystemDirectories.MvcViews);
Mock.Get(_fileSystems).Setup(x => x.MvcViewsFileSystem).Returns(viewsFileSystem);
}
@@ -46,9 +46,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Instantiate_Repository()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
// Assert
Assert.That(repository, Is.Not.Null);
@@ -59,9 +61,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_View()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
// Act
var template = new Template(ShortStringHelper, "test", "test");
@@ -78,9 +82,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_View_With_Default_Content()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
// Act
var template = new Template(ShortStringHelper, "test", "test")
@@ -102,9 +108,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_View_With_Default_Content_With_Parent()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
//NOTE: This has to be persisted first
var template = new Template(ShortStringHelper, "test", "test");
@@ -128,9 +136,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Add_Unique_Alias()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
// Act
var template = new Template(ShortStringHelper, "test", "test")
@@ -154,9 +164,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_Unique_Alias()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
// Act
var template = new Template(ShortStringHelper, "test", "test")
@@ -185,9 +197,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_View()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
// Act
var template = new Template(ShortStringHelper, "test", "test")
@@ -211,9 +225,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_View()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var template = new Template(ShortStringHelper, "test", "test")
{
@@ -236,23 +252,28 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_When_Assigned_To_Doc()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
var scopeAccessor = (IScopeAccessor) provider;
var dataTypeService = GetRequiredService<IDataTypeService>();
var fileService = GetRequiredService<IFileService>();
using (provider.CreateScope())
{
var templateRepository = CreateRepository(ScopeProvider);
var templateRepository = CreateRepository(provider);
var globalSettings = new GlobalSettingsBuilder().Build();
var tagRepository = new TagRepository(ScopeProvider, AppCaches.Disabled, Logger);
var commonRepository = new ContentTypeCommonRepository(ScopeProvider, templateRepository, AppCaches, ShortStringHelper);
var languageRepository = new LanguageRepository(ScopeProvider, AppCaches.Disabled, Logger, Microsoft.Extensions.Options.Options.Create(globalSettings));
var contentTypeRepository = new ContentTypeRepository(ScopeProvider, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper);
var relationTypeRepository = new RelationTypeRepository(ScopeProvider, AppCaches.Disabled, Logger);
var entityRepository = new EntityRepository(ScopeProvider);
var relationRepository = new RelationRepository(ScopeProvider, Logger, relationTypeRepository, entityRepository);
var tagRepository = new TagRepository(scopeAccessor, AppCaches.Disabled, Logger);
var commonRepository = new ContentTypeCommonRepository(scopeAccessor, templateRepository, AppCaches, ShortStringHelper);
var languageRepository = new LanguageRepository(scopeAccessor, AppCaches.Disabled, Logger, Microsoft.Extensions.Options.Options.Create(globalSettings));
var contentTypeRepository = new ContentTypeRepository(scopeAccessor, AppCaches.Disabled, Logger, commonRepository, languageRepository, ShortStringHelper);
var relationTypeRepository = new RelationTypeRepository(scopeAccessor, AppCaches.Disabled, Logger);
var entityRepository = new EntityRepository(scopeAccessor);
var relationRepository = new RelationRepository(scopeAccessor, Logger, relationTypeRepository, entityRepository);
var propertyEditors = new Lazy<PropertyEditorCollection>(() => new PropertyEditorCollection(new DataEditorCollection(Enumerable.Empty<IDataEditor>())));
var dataValueReferences = new DataValueReferenceFactoryCollection(Enumerable.Empty<IDataValueReferenceFactory>());
var contentRepo = new DocumentRepository(ScopeProvider, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, DataTypeService);
var contentRepo = new DocumentRepository(scopeAccessor, AppCaches.Disabled, Logger, contentTypeRepository, templateRepository, tagRepository, languageRepository, relationRepository, relationTypeRepository, propertyEditors, dataValueReferences, dataTypeService);
var contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage2", "Textpage");
ServiceContext.FileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
fileService.SaveTemplate(contentType.DefaultTemplate); // else, FK violation on contentType!
contentTypeRepository.Save(contentType);
var textpage = MockedContent.CreateSimpleContent(contentType);
contentRepo.Save(textpage);
@@ -279,9 +300,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Delete_On_Nested_Templates()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var parent = new Template(ShortStringHelper, "parent", "parent")
{
@@ -316,9 +339,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Get_All()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var created = CreateHierarchy(repository).ToArray();
@@ -343,9 +368,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Get_Children()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var created = CreateHierarchy(repository).ToArray();
@@ -365,9 +392,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Get_Children_At_Root()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
CreateHierarchy(repository).ToArray();
@@ -384,9 +413,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Get_Descendants()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var created = CreateHierarchy(repository).ToArray();
// Act
@@ -406,9 +437,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Path_Is_Set_Correctly_On_Creation()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var parent = new Template(ShortStringHelper, "parent", "parent");
var child1 = new Template(ShortStringHelper, "child1", "child1");
@@ -466,9 +499,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Path_Is_Set_Correctly_On_Update()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var parent = new Template(ShortStringHelper, "parent", "parent");
var child1 = new Template(ShortStringHelper, "child1", "child1");
@@ -504,9 +539,11 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Path_Is_Set_Correctly_On_Update_With_Master_Template_Removal()
{
// Arrange
using (ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(ScopeProvider);
var repository = CreateRepository(provider);
var parent = new Template(ShortStringHelper, "parent", "parent");
var child1 = new Template(ShortStringHelper, "child1", "child1");
@@ -527,14 +564,13 @@ namespace Umbraco.Tests.Persistence.Repositories
}
[TearDown]
public override void TearDown()
public void TearDown()
{
base.TearDown();
var testHelper = new TestHelper();
_fileSystems = null;
//Delete all files
var fsViews = new PhysicalFileSystem(IOHelper, HostingEnvironment, Logger, Constants.SystemDirectories.MvcViews);
var fsViews = new PhysicalFileSystem(IOHelper, testHelper.GetHostingEnvironment(), Logger, Constants.SystemDirectories.MvcViews);
var views = fsViews.GetFiles("", "*.cshtml");
foreach (var file in views)
fsViews.DeleteFile(file);

View File

@@ -1,33 +1,30 @@
using System;
using System.Linq;
using Moq;
using System.Linq;
using NUnit.Framework;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.Scoping;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Integration.Testing;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Persistence.Repositories
namespace Umbraco.Tests.Integration.Persistence.Repositories
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerTest)]
public class UserGroupRepositoryTest : TestWithDatabaseBase
public class UserGroupRepositoryTest : UmbracoIntegrationTest
{
private UserGroupRepository CreateRepository(IScopeProvider provider)
{
return new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper);
return new UserGroupRepository((IScopeAccessor) provider, Core.Cache.AppCaches.Disabled, Logger, ShortStringHelper);
}
[Test]
public void Can_Perform_Add_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -46,8 +43,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Multiple_Adds_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -70,8 +67,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Verify_Fresh_Entity_Is_Not_Dirty()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -80,7 +77,7 @@ namespace Umbraco.Tests.Persistence.Repositories
scope.Complete();
// Act
var resolved = repository.Get(userGroup.Id);
var resolved = repository.Get((int) userGroup.Id);
bool dirty = ((UserGroup)resolved).IsDirty();
// Assert
@@ -92,22 +89,21 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Update_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
var userGroup = MockedUserGroup.CreateUserGroup();
repository.Save(userGroup);
// Act
var resolved = repository.Get(userGroup.Id);
var resolved = repository.Get((int) userGroup.Id);
resolved.Name = "New Name";
resolved.Permissions = new[] { "Z", "Y", "X" };
repository.Save(resolved);
scope.Complete();
var updatedItem = repository.Get(userGroup.Id);
var updatedItem = repository.Get((int) userGroup.Id);
// Assert
Assert.That(updatedItem.Id, Is.EqualTo(resolved.Id));
@@ -119,8 +115,8 @@ namespace Umbraco.Tests.Persistence.Repositories
[Test]
public void Can_Perform_Delete_On_UserGroupRepository()
{
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -135,7 +131,7 @@ namespace Umbraco.Tests.Persistence.Repositories
repository2.Delete(userGroup);
scope.Complete();
var resolved = repository2.Get(id);
var resolved = repository2.Get((int) id);
// Assert
Assert.That(resolved, Is.Null);
@@ -146,8 +142,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Get_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -156,7 +152,7 @@ namespace Umbraco.Tests.Persistence.Repositories
scope.Complete();
// Act
var resolved = repository.Get(userGroup.Id);
var resolved = repository.Get((int) userGroup.Id);
// Assert
Assert.That(resolved.Id, Is.EqualTo(userGroup.Id));
@@ -172,8 +168,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetByQuery_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -192,8 +188,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetAll_By_Param_Ids_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -213,8 +209,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_GetAll_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -234,8 +230,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Exists_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -253,8 +249,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Perform_Count_On_UserGroupRepository()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -273,8 +269,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Remove_Section_For_Group()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -308,8 +304,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Add_Section_ForGroup()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -359,8 +355,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Can_Update_Section_For_Group()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);
@@ -387,8 +383,8 @@ namespace Umbraco.Tests.Persistence.Repositories
public void Get_Groups_Assigned_To_Section()
{
// Arrange
var provider = TestObjects.GetScopeProvider(Logger);
using (var scope = ScopeProvider.CreateScope())
var provider = ScopeProvider;
using (var scope = provider.CreateScope())
{
var repository = CreateRepository(provider);

View File

@@ -5,7 +5,6 @@ using Moq;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Configuration;
using Umbraco.Core.Configuration.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Persistence;

View File

@@ -1,22 +1,22 @@
using System.Linq;
using System;
using System.Linq;
using Moq;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Configuration.Models;
using Umbraco.Core.Logging;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Persistence.Repositories;
using Umbraco.Core.Persistence.Repositories.Implement;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Scoping;
using Umbraco.Core.Serialization;
using Umbraco.Tests.Common.Builders;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
using Umbraco.Core.PropertyEditors;
using System;
using Umbraco.Core.Configuration;
using Umbraco.Core.Serialization;
using Umbraco.Core.Configuration.Models;
using Umbraco.Tests.Common.Builders;
using MockedUser = Umbraco.Tests.TestHelpers.Entities.MockedUser;
namespace Umbraco.Tests.Persistence.Repositories
{

View File

@@ -6,17 +6,16 @@ using System.Text;
using System.Threading;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Exceptions;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Core.Persistence.Querying;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
using Umbraco.Tests.Common.Builders;
using Umbraco.Tests.TestHelpers.Entities;
using Umbraco.Tests.Testing;
using Umbraco.Web.Actions;
using Umbraco.Tests.Common.Builders;
using MockedUser = Umbraco.Tests.TestHelpers.Entities.MockedUser;
namespace Umbraco.Tests.Services
{

View File

@@ -139,8 +139,6 @@
<Compile Include="Models\VariationTests.cs" />
<Compile Include="Persistence\Mappers\MapperTestBase.cs" />
<Compile Include="Persistence\Repositories\DocumentRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\EntityRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\KeyValueRepositoryTests.cs" />
<Compile Include="Routing\BaseUrlProviderTest.cs" />
<Compile Include="Routing\UrlProviderWithHideTopLevelNodeFromPathTests.cs" />
<Compile Include="Security\BackOfficeOwinUserManagerTests.cs" />
@@ -148,11 +146,8 @@
<Compile Include="Services\KeyValueServiceTests.cs" />
<Compile Include="Persistence\Repositories\UserRepositoryTest.cs" />
<Compile Include="TestHelpers\Entities\MockedEntity.cs" />
<Compile Include="TestHelpers\Entities\MockedMedia.cs" />
<Compile Include="TestHelpers\Entities\MockedMember.cs" />
<Compile Include="TestHelpers\Entities\MockedPropertyTypes.cs" />
<Compile Include="TestHelpers\Entities\MockedUser.cs" />
<Compile Include="TestHelpers\Entities\MockedUserGroup.cs" />
<Compile Include="UmbracoExamine\ExamineExtensions.cs" />
<Compile Include="PropertyEditors\BlockListPropertyValueConverterTests.cs" />
<Compile Include="PropertyEditors\DataValueReferenceFactoryCollectionTests.cs" />
@@ -191,8 +186,6 @@
<Compile Include="Packaging\PackageExtractionTests.cs" />
<Compile Include="Persistence\NPocoTests\NPocoFetchTests.cs" />
<Compile Include="Persistence\NPocoTests\NPocoSqlTemplateTests.cs" />
<Compile Include="Persistence\Repositories\SimilarNodeNameTests.cs" />
<Compile Include="Persistence\Repositories\UserGroupRepositoryTest.cs" />
<Compile Include="Published\ConvertersTests.cs" />
<Compile Include="Routing\ContentFinderByUrlAndTemplateTests.cs" />
<Compile Include="Routing\ContentFinderByUrlTests.cs" />
@@ -230,7 +223,6 @@
<Compile Include="Migrations\PostMigrationTests.cs" />
<Compile Include="Persistence\NPocoTests\NPocoSqlExtensionsTests.cs" />
<Compile Include="Persistence\UnitOfWorkTests.cs" />
<Compile Include="Persistence\Repositories\RedirectUrlRepositoryTests.cs" />
<Compile Include="Testing\UmbracoTestBase.cs" />
<Compile Include="CoreThings\TryConvertToTests.cs" />
<Compile Include="TestHelpers\TestObjects-Mocks.cs" />
@@ -296,12 +288,9 @@
<Compile Include="Web\Mvc\ViewDataDictionaryExtensionTests.cs" />
<Compile Include="Persistence\NPocoTests\NPocoBulkInsertTests.cs" />
<Compile Include="Persistence\Querying\ContentTypeSqlMappingTests.cs" />
<Compile Include="Persistence\Repositories\MacroRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\MemberRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\MemberTypeRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\TagRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\NotificationsRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\TemplateRepositoryTest.cs" />
<Compile Include="PublishedContent\PublishedContentExtensionTests.cs" />
<Compile Include="PropertyEditors\ColorListValidatorTest.cs" />
<Compile Include="PropertyEditors\MultiValuePropertyEditorTests.cs" />
@@ -347,7 +336,6 @@
<Compile Include="Persistence\Querying\ExpressionTests.cs" />
<Compile Include="Persistence\Querying\MediaRepositorySqlClausesTest.cs" />
<Compile Include="Persistence\Querying\MediaTypeRepositorySqlClausesTest.cs" />
<Compile Include="Persistence\Repositories\ServerRegistrationRepositoryTest.cs" />
<Compile Include="Persistence\SchemaValidationTest.cs" />
<Compile Include="Persistence\SyntaxProvider\SqlCeSyntaxProviderTests.cs" />
<Compile Include="PublishedContent\PublishedContentDataTableTests.cs" />
@@ -375,12 +363,9 @@
<Compile Include="Persistence\Querying\QueryBuilderTests.cs" />
<Compile Include="Persistence\Repositories\ContentTypeRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\DataTypeDefinitionRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\DictionaryRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\LanguageRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\MediaRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\MediaTypeRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\RelationRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\RelationTypeRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\ScriptRepositoryTest.cs" />
<Compile Include="Persistence\Repositories\StylesheetRepositoryTest.cs" />
<Compile Include="PublishedContent\PublishedContentMoreTests.cs" />