Conflicts: build/UmbracoVersion.txt src/Umbraco.Core/ApplicationContext.cs src/Umbraco.Core/Configuration/UmbracoConfig.cs src/Umbraco.Core/Configuration/UmbracoVersion.cs src/Umbraco.Core/CoreBootManager.cs src/Umbraco.Core/DatabaseContext.cs src/Umbraco.Core/Dictionary/CultureDictionaryFactoryResolver.cs src/Umbraco.Core/Manifest/ManifestParser.cs src/Umbraco.Core/Models/DataTypeDefinition.cs src/Umbraco.Core/ObjectResolution/ApplicationEventsResolver.cs src/Umbraco.Core/Persistence/DatabaseSchemaHelper.cs src/Umbraco.Core/Persistence/Factories/MemberTypeFactory.cs src/Umbraco.Core/Persistence/Migrations/MigrationBase.cs src/Umbraco.Core/Persistence/Migrations/MigrationExpressionBase.cs src/Umbraco.Core/Persistence/Migrations/MigrationResolver.cs src/Umbraco.Core/Persistence/Migrations/MigrationRunner.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/AlterSyntaxBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Column/AlterColumnBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Expressions/AlterColumnExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Expressions/AlterDefaultConstraintExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Expressions/AlterTableExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Table/AlterTableBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Column/CreateColumnBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Create/CreateBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Expressions/CreateConstraintExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Expressions/CreateTableExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Table/CreateTableBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/DeleteBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteColumnExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteConstraintExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteDataExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteDefaultConstraintExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteForeignKeyExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteIndexExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteTableExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Execute/ExecuteBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Execute/Expressions/ExecuteCodeStatementExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Execute/Expressions/ExecuteSqlStatementExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Expressions/CreateColumnExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Expressions/CreateForeignKeyExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Expressions/CreateIndexExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Insert/Expressions/InsertDataExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Insert/InsertBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Rename/Expressions/RenameColumnExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Rename/Expressions/RenameTableExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Rename/RenameBuilder.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Update/Expressions/UpdateDataExpression.cs src/Umbraco.Core/Persistence/Migrations/Syntax/Update/UpdateBuilder.cs src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AddIndexToCmsMacroTable.cs src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs src/Umbraco.Core/Persistence/Repositories/TagRepository.cs src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs src/Umbraco.Core/Persistence/RepositoryFactory.cs src/Umbraco.Core/Persistence/UmbracoDatabase.cs src/Umbraco.Core/PropertyEditors/IPropertyEditorValueConverter.cs src/Umbraco.Core/PropertyEditors/PropertyEditor.cs src/Umbraco.Core/PropertyEditors/PropertyEditorResolver.cs src/Umbraco.Core/Services/ContentService.cs src/Umbraco.Core/Services/ContentTypeService.cs src/Umbraco.Core/Services/DataTypeService.cs src/Umbraco.Core/Services/EntityService.cs src/Umbraco.Core/Services/LocalizationService.cs src/Umbraco.Core/Services/MacroService.cs src/Umbraco.Core/Services/MediaService.cs src/Umbraco.Core/Services/MemberGroupService.cs src/Umbraco.Core/Services/MemberService.cs src/Umbraco.Core/Services/MemberTypeService.cs src/Umbraco.Core/Services/PackagingService.cs src/Umbraco.Core/Services/ServerRegistrationService.cs src/Umbraco.Core/Services/ServiceContext.cs src/Umbraco.Core/Services/TagService.cs src/Umbraco.Core/Services/UserService.cs src/Umbraco.Core/Strings/DefaultShortStringHelper.cs src/Umbraco.Core/Sync/ConfigServerRegistrar.cs src/Umbraco.Core/Sync/DatabaseServerMessenger.cs src/Umbraco.Core/Umbraco.Core.csproj src/Umbraco.Core/UmbracoApplicationBase.cs src/Umbraco.Core/packages.config src/Umbraco.Tests/BootManagers/CoreBootManagerTests.cs src/Umbraco.Tests/Macros/MacroTests.cs src/Umbraco.Tests/Manifest/ManifestParserTests.cs src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs src/Umbraco.Tests/Migrations/MigrationRunnerTests.cs src/Umbraco.Tests/Migrations/Stubs/FiveZeroMigration.cs src/Umbraco.Tests/Migrations/Stubs/FourElevenMigration.cs src/Umbraco.Tests/Migrations/Stubs/SixZeroMigration1.cs src/Umbraco.Tests/Migrations/Stubs/SixZeroMigration2.cs src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs src/Umbraco.Tests/Mvc/UmbracoViewPageTests.cs src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs src/Umbraco.Tests/Persistence/DatabaseContextTests.cs src/Umbraco.Tests/Persistence/Mappers/PropertyGroupMapperTest.cs src/Umbraco.Tests/Persistence/MySqlDatabaseCreationTest.cs src/Umbraco.Tests/Persistence/Querying/ContentTypeRepositorySqlClausesTest.cs src/Umbraco.Tests/Persistence/Querying/ContentTypeSqlMappingTests.cs src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs src/Umbraco.Tests/Persistence/SyntaxProvider/SqlCeSyntaxProviderTests.cs src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs src/Umbraco.Tests/Services/ContentServiceTests.cs src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs src/Umbraco.Tests/Strings/DefaultShortStringHelperTests.cs src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs src/Umbraco.Tests/TestHelpers/BaseDatabaseTest.cs src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs src/Umbraco.Tests/Umbraco.Tests.csproj src/Umbraco.Web.UI/Umbraco.Web.UI.csproj src/Umbraco.Web.UI/config/ClientDependency.config src/Umbraco.Web.UI/packages.config src/Umbraco.Web.UI/umbraco/controls/ContentTypeControlNew.ascx.cs src/Umbraco.Web.UI/umbraco/plugins/tinymce3/insertImage.aspx src/Umbraco.Web.UI/umbraco/settings/EditNodeTypeNew.aspx.cs src/Umbraco.Web/BatchedDatabaseServerMessenger.cs src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs src/Umbraco.Web/Cache/DataTypeCacheRefresher.cs src/Umbraco.Web/Cache/DistributedCacheExtensions.cs src/Umbraco.Web/Editors/AuthenticationController.cs src/Umbraco.Web/Editors/BackOfficeController.cs src/Umbraco.Web/Install/InstallSteps/DatabaseInstallStep.cs src/Umbraco.Web/Install/InstallSteps/DatabaseUpgradeStep.cs src/Umbraco.Web/Media/ThumbnailProviders/ThumbnailProvidersResolver.cs src/Umbraco.Web/Mvc/DefaultRenderMvcControllerResolver.cs src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs src/Umbraco.Web/PropertyEditors/FolderBrowserPropertyEditor.cs src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs src/Umbraco.Web/PropertyEditors/ImageCropperPropertyEditor.cs src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs src/Umbraco.Web/Trees/MediaTreeController.cs src/Umbraco.Web/Trees/MemberTreeController.cs src/Umbraco.Web/Umbraco.Web.csproj src/Umbraco.Web/UmbracoApplication.cs src/Umbraco.Web/UmbracoModule.cs src/Umbraco.Web/WebBootManager.cs src/Umbraco.Web/packages.config src/Umbraco.Web/umbraco.presentation/content.cs src/Umbraco.Web/umbraco.presentation/keepAliveService.cs src/Umbraco.Web/umbraco.presentation/macro.cs src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadDictionary.cs src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentControl.cs src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs src/Umbraco.Web/umbraco.presentation/umbraco/controls/Images/ImageViewer.ascx.cs src/Umbraco.Web/umbraco.presentation/umbraco/controls/Images/UploadMediaImage.ascx.cs src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/imageViewer.aspx.cs src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/rollBack.aspx.cs src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMemberType.aspx.cs src/Umbraco.Web/umbraco.presentation/umbraco/plugins/tinymce3/insertImage.aspx src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditNodeTypeNew.aspx.cs src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/MediaExtensions.cs src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery.cs src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs src/Umbraco.Web/umbraco.presentation/umbraco/webService.asmx.cs src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs src/UmbracoExamine/UmbracoContentIndexer.cs src/UmbracoExamine/UmbracoMemberIndexer.cs src/umbraco.MacroEngines/RazorCore/UmbracoCultureDictionary.cs src/umbraco.MacroEngines/RazorDynamicNode/DynamicNode.cs src/umbraco.MacroEngines/RazorDynamicNode/ExtensionMethods.cs src/umbraco.MacroEngines/app.config src/umbraco.MacroEngines/packages.config src/umbraco.MacroEngines/umbraco.MacroEngines.csproj src/umbraco.businesslogic/UmbracoSettings.cs src/umbraco.cms/businesslogic/Content.cs src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs src/umbraco.cms/businesslogic/datatype/DefaultPreValueEditor.cs src/umbraco.cms/businesslogic/datatype/FileHandlerData.cs src/umbraco.cms/businesslogic/translation/Translation.cs src/umbraco.cms/businesslogic/web/Document.cs src/umbraco.cms/packages.config src/umbraco.editorControls/DefaultPrevalueEditor.cs src/umbraco.editorControls/MultiNodeTreePicker/MNTPResources.Designer.cs src/umbraco.editorControls/MultiNodeTreePicker/MNTPResources.resx src/umbraco.editorControls/MultiNodeTreePicker/MNTP_DataType.cs src/umbraco.editorControls/app.config src/umbraco.editorControls/macrocontainer/PrevalueEditor.cs src/umbraco.editorControls/packages.config src/umbraco.editorControls/textfieldmultiple/textfieldMultipleDataType.cs src/umbraco.editorControls/umbraco.editorControls.csproj src/umbraco.editorControls/uploadfield/uploadField.cs src/umbraco.editorControls/userControlWrapper/usercontrolPrevalueEditor.cs src/umbraco.providers/app.config
260 lines
9.5 KiB
C#
260 lines
9.5 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.UI.WebControls;
|
|
using Moq;
|
|
using NUnit.Framework;
|
|
using Umbraco.Core.Configuration.UmbracoSettings;
|
|
using Umbraco.Core.IO;
|
|
using Umbraco.Core.Models;
|
|
using Umbraco.Core.Persistence.Repositories;
|
|
using Umbraco.Core.Persistence.UnitOfWork;
|
|
using Umbraco.Tests.TestHelpers;
|
|
using Umbraco.Tests.TestHelpers.Entities;
|
|
using Content = Umbraco.Core.Models.Content;
|
|
|
|
namespace Umbraco.Tests.Persistence.Repositories
|
|
{
|
|
[DatabaseTestBehavior(DatabaseBehavior.NewDbFileAndSchemaPerTest)]
|
|
[TestFixture]
|
|
public class PublicAccessRepositoryTest : BaseDatabaseFactoryTest
|
|
{
|
|
[Test]
|
|
public void Can_Delete()
|
|
{
|
|
var content = CreateTestData(3).ToArray();
|
|
|
|
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
|
var unitOfWork = provider.GetUnitOfWork();
|
|
using (var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver))
|
|
{
|
|
|
|
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry);
|
|
unitOfWork.Commit();
|
|
|
|
repo.Delete(entry);
|
|
unitOfWork.Commit();
|
|
|
|
entry = repo.Get(entry.Key);
|
|
Assert.IsNull(entry);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void Can_Add()
|
|
{
|
|
var content = CreateTestData(3).ToArray();
|
|
|
|
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
|
var unitOfWork = provider.GetUnitOfWork();
|
|
using (var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver))
|
|
{
|
|
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry);
|
|
unitOfWork.Commit();
|
|
|
|
var found = repo.GetAll().ToArray();
|
|
|
|
Assert.AreEqual(1, found.Count());
|
|
Assert.AreEqual(content[0].Id, found[0].ProtectedNodeId);
|
|
Assert.AreEqual(content[1].Id, found[0].LoginNodeId);
|
|
Assert.AreEqual(content[2].Id, found[0].NoAccessNodeId);
|
|
Assert.IsTrue(found[0].HasIdentity);
|
|
Assert.AreNotEqual(default(DateTime), found[0].CreateDate);
|
|
Assert.AreNotEqual(default(DateTime), found[0].UpdateDate);
|
|
Assert.AreEqual(1, found[0].Rules.Count());
|
|
Assert.AreEqual("test", found[0].Rules.First().RuleValue);
|
|
Assert.AreEqual("RoleName", found[0].Rules.First().RuleType);
|
|
Assert.AreNotEqual(default(DateTime), found[0].Rules.First().CreateDate);
|
|
Assert.AreNotEqual(default(DateTime), found[0].Rules.First().UpdateDate);
|
|
Assert.IsTrue(found[0].Rules.First().HasIdentity);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void Can_Update()
|
|
{
|
|
var content = CreateTestData(3).ToArray();
|
|
|
|
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
|
var unitOfWork = provider.GetUnitOfWork();
|
|
using (var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver))
|
|
{
|
|
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry);
|
|
unitOfWork.Commit();
|
|
|
|
//re-get
|
|
entry = repo.Get(entry.Key);
|
|
|
|
entry.Rules.First().RuleValue = "blah";
|
|
entry.Rules.First().RuleType = "asdf";
|
|
repo.AddOrUpdate(entry);
|
|
|
|
unitOfWork.Commit();
|
|
|
|
//re-get
|
|
entry = repo.Get(entry.Key);
|
|
|
|
Assert.AreEqual("blah", entry.Rules.First().RuleValue);
|
|
Assert.AreEqual("asdf", entry.Rules.First().RuleType);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void Get_By_Id()
|
|
{
|
|
var content = CreateTestData(3).ToArray();
|
|
|
|
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
|
var unitOfWork = provider.GetUnitOfWork();
|
|
using (var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver))
|
|
{
|
|
var entry = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry);
|
|
unitOfWork.Commit();
|
|
|
|
//re-get
|
|
entry = repo.Get(entry.Key);
|
|
|
|
Assert.IsNotNull(entry);
|
|
}
|
|
}
|
|
|
|
[Test]
|
|
public void Get_All()
|
|
{
|
|
var content = CreateTestData(3).ToArray();
|
|
|
|
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
|
var unitOfWork = provider.GetUnitOfWork();
|
|
using (var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver))
|
|
{
|
|
var entry1 = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry1);
|
|
|
|
var entry2 = new PublicAccessEntry(content[1], content[0], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry2);
|
|
|
|
unitOfWork.Commit();
|
|
|
|
var found = repo.GetAll().ToArray();
|
|
Assert.AreEqual(2, found.Count());
|
|
}
|
|
}
|
|
|
|
|
|
[Test]
|
|
public void Get_All_With_Id()
|
|
{
|
|
var content = CreateTestData(3).ToArray();
|
|
|
|
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
|
var unitOfWork = provider.GetUnitOfWork();
|
|
using (var repo = new PublicAccessRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver))
|
|
{
|
|
var entry1 = new PublicAccessEntry(content[0], content[1], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry1);
|
|
|
|
var entry2 = new PublicAccessEntry(content[1], content[0], content[2], new[]
|
|
{
|
|
new PublicAccessRule
|
|
{
|
|
RuleValue = "test",
|
|
RuleType = "RoleName"
|
|
},
|
|
});
|
|
repo.AddOrUpdate(entry2);
|
|
|
|
unitOfWork.Commit();
|
|
|
|
var found = repo.GetAll(entry1.Key).ToArray();
|
|
Assert.AreEqual(1, found.Count());
|
|
}
|
|
}
|
|
|
|
|
|
private ContentRepository CreateRepository(IDatabaseUnitOfWork unitOfWork, out ContentTypeRepository contentTypeRepository)
|
|
{
|
|
var templateRepository = new TemplateRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, Mock.Of<IFileSystem>(), Mock.Of<IFileSystem>(), Mock.Of<ITemplatesSection>(), MappingResolver);
|
|
var tagRepository = new TagRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, MappingResolver);
|
|
contentTypeRepository = new ContentTypeRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, templateRepository, MappingResolver);
|
|
var repository = new ContentRepository(unitOfWork, CacheHelper, Logger, SqlSyntax, contentTypeRepository, templateRepository, tagRepository, Mock.Of<IContentSection>());
|
|
return repository;
|
|
}
|
|
|
|
private IEnumerable<IContent> CreateTestData(int count)
|
|
{
|
|
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
|
var unitOfWork = provider.GetUnitOfWork();
|
|
ContentTypeRepository ctRepo;
|
|
using (var repo = CreateRepository(unitOfWork, out ctRepo))
|
|
{
|
|
var ct = MockedContentTypes.CreateBasicContentType("testing");
|
|
ctRepo.AddOrUpdate(ct);
|
|
unitOfWork.Commit();
|
|
var result = new List<IContent>();
|
|
for (int i = 0; i < count; i++)
|
|
{
|
|
var c = new Content("test" + i, -1, ct);
|
|
repo.AddOrUpdate(c);
|
|
result.Add(c);
|
|
}
|
|
unitOfWork.Commit();
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
} |