Skip to content

Commit

Permalink
I heard you like tests, so I wrote some more for SC data store
Browse files Browse the repository at this point in the history
  • Loading branch information
kamsar committed Sep 9, 2015
1 parent 7f39a39 commit 7304aaf
Show file tree
Hide file tree
Showing 14 changed files with 1,144 additions and 20 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Expand Up @@ -21,4 +21,6 @@ src/*/v6obj
# NuGet packages
packages/*
!packages/repositories.config
Build/*.nupkg
Build/*.nupkg

src/Rainbow.*.Tests/license.xml
8 changes: 7 additions & 1 deletion Rainbow.sln
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.22823.1
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rainbow.Tests", "src\Rainbow.Tests\Rainbow.Tests.csproj", "{3A8495AE-E286-44A2-8BBB-EE9911F5BA43}"
EndProject
Expand All @@ -13,6 +13,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rainbow.Storage.Yaml.Tests"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rainbow.Storage.Sc", "src\Rainbow.Storage.Sc\Rainbow.Storage.Sc.csproj", "{956AFE8B-51CD-4D61-B8C1-BFFDC749FD82}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rainbow.Storage.Sc.Tests", "src\Rainbow.Storage.Sc.Tests\Rainbow.Storage.Sc.Tests.csproj", "{20031F60-CD51-4F57-A13C-33D6D85D68ED}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -39,6 +41,10 @@ Global
{956AFE8B-51CD-4D61-B8C1-BFFDC749FD82}.Debug|Any CPU.Build.0 = Debug|Any CPU
{956AFE8B-51CD-4D61-B8C1-BFFDC749FD82}.Release|Any CPU.ActiveCfg = Release|Any CPU
{956AFE8B-51CD-4D61-B8C1-BFFDC749FD82}.Release|Any CPU.Build.0 = Release|Any CPU
{20031F60-CD51-4F57-A13C-33D6D85D68ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20031F60-CD51-4F57-A13C-33D6D85D68ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20031F60-CD51-4F57-A13C-33D6D85D68ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20031F60-CD51-4F57-A13C-33D6D85D68ED}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
224 changes: 224 additions & 0 deletions src/Rainbow.Storage.Sc.Tests/App.config
@@ -0,0 +1,224 @@
<configuration>
<configSections>
<section name="sitecore" type="Sitecore.FakeDb.Configuration.ConfigReader, Sitecore.FakeDb" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, Sitecore.Logging" />
</configSections>
<appSettings>
<add key="xunit.parallelizeTestCollections" value="false" />
</appSettings>
<sitecore database="Fake">
<!-- SETTINGS -->
<settings>
<setting name="LicenseFile" value="..\..\license.xml" />
<setting name="Caching.Enabled" value="false" />
<setting name="MaxWorkerThreads" value="0" />
<setting name="FakeDb.AutoTranslate" value="false" />
<setting name="FakeDb.AutoTranslatePrefix" value="" />
<setting name="FakeDb.AutoTranslateSuffix" value="" />
</settings>
<!-- FIELD TYPES -->
<fieldTypes>
<sc.include file="..\..\App_Config\FieldTypes.config" />
</fieldTypes>
<!-- LINK DATABASE -->
<LinkDatabase type="Sitecore.FakeDb.Links.FakeLinkDatabase, Sitecore.FakeDb" />
<!-- TASK DATABASE -->
<TaskDatabase type="Sitecore.FakeDb.Tasks.FakeTaskDatabase, Sitecore.FakeDb" />
<!-- ID TABLE -->
<IDTable type="Sitecore.FakeDb.Data.IDTables.FakeIDTableProvider, Sitecore.FakeDb" singleInstance="true" />
<!-- PIPELINES -->
<pipelines>
<initialize />
<getFieldValue performanceCritical="true">
<processor type="Sitecore.Pipelines.GetFieldValue.GetInheritedValue, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.GetFieldValue.GetStandardValue, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.GetFieldValue.GetDefaultValue, Sitecore.Kernel" />
</getFieldValue>
<!-- FakeDb -->
<initFakeDb>
<processor type="Sitecore.FakeDb.Pipelines.InitFakeDb.InitDataProviders, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.InitFakeDb.InitDataEngineCommands, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.InitFakeDb.InitStandardValuesProvider, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.InitFakeDb.InitGlobals, Sitecore.FakeDb" />
</initFakeDb>
<releaseFakeDb>
<processor type="Sitecore.FakeDb.Pipelines.ReleaseFakeDb.ReleasePipelineWatcher, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.ReleaseFakeDb.ResetDataProviders, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.ReleaseFakeDb.ResetTemplateEngine, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.ReleaseFakeDb.ResetFactory, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.ReleaseFakeDb.ResetSettings, Sitecore.FakeDb" />
</releaseFakeDb>
<addDbItem>
<processor type="Sitecore.FakeDb.Pipelines.AddDbItem.SetStatistics, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.AddDbItem.SetParent, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.AddDbItem.CreateTemplate, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.AddDbItem.EnsureIsChild, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.AddDbItem.SetFullPath, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.AddDbItem.AddVersion, Sitecore.FakeDb" />
<processor type="Sitecore.FakeDb.Pipelines.AddDbItem.SetAccess, Sitecore.FakeDb" />
</addDbItem>
<getTranslation>
<processor type="Sitecore.FakeDb.Pipelines.GetTranslation.GetFakeTranslation, Sitecore.FakeDb" />
</getTranslation>
<!-- Analytics -->
<loadVisitor />
</pipelines>
<dataProviders>
<main type="Sitecore.FakeDb.Data.DataProviders.$(database)DataProvider, Sitecore.FakeDb">
<CacheOptions.DisableAll>true</CacheOptions.DisableAll>
</main>
</dataProviders>
<!-- DATABASES -->
<databases>
<!-- core -->
<database id="core" type="Sitecore.Data.Database, Sitecore.Kernel" singleInstance="true">
<param desc="name">$(id)</param>
<dataProviders hint="list:AddDataProvider">
<dataProvider ref="dataProviders/main" />
</dataProviders>
</database>
<!-- master -->
<database id="master" type="Sitecore.Data.Database, Sitecore.Kernel" singleInstance="true">
<param desc="name">$(id)</param>
<dataProviders hint="list:AddDataProvider">
<dataProvider ref="dataProviders/main" />
</dataProviders>
</database>
<!-- web -->
<database id="web" type="Sitecore.Data.Database, Sitecore.Kernel" singleInstance="true">
<param desc="name">$(id)</param>
<dataProviders hint="list:AddDataProvider">
<dataProvider ref="dataProviders/main" />
</dataProviders>
</database>
</databases>
<clientDataStore type="Sitecore.FakeDb.Configuration.ClientDataStoreStub, Sitecore.FakeDb" />
<!-- CONFIG STORES -->
<configStores>
<add name="globalRoles" type="Sitecore.Configuration.XmlConfigStore, Sitecore.Kernel">
<param>roles</param>
</add>
</configStores>
<!-- ITEM MANAGER -->
<itemManager defaultProvider="default">
<providers>
<clear />
<add name="default" type="Sitecore.Data.Managers.ItemProvider, Sitecore.Kernel" />
</providers>
</itemManager>
<!-- DOMAINS -->
<domainManager>
<providers>
<clear />
<add name="fake" type="Sitecore.FakeDb.SecurityModel.FakeDomainProvider, Sitecore.FakeDb" />
</providers>
</domainManager>
<!-- SITES -->
<siteManager defaultProvider="config">
<providers>
<clear />
<add name="config" type="Sitecore.Sites.ConfigSiteProvider, Sitecore.Kernel" siteList="sites" checkSecurity="false" />
</providers>
</siteManager>
<!-- LINKS -->
<linkManager defaultProvider="sitecore">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="true" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="asNeeded" languageLocation="filePath" lowercaseUrls="false" shortenUrls="true" useDisplayName="false" />
</providers>
</linkManager>
<!-- STANDARD VALUES -->
<standardValues defaultProvider="fake">
<providers>
<clear />
<add name="fake" type="Sitecore.FakeDb.Data.FakeStandardValuesProvider, Sitecore.FakeDb" />
</providers>
</standardValues>
<!-- AUTHENTICATION -->
<authentication defaultProvider="switcher">
<providers>
<clear />
<add name="switcher" type="Sitecore.FakeDb.Security.Authentication.SwitchingAuthenticationProvider, Sitecore.FakeDb" defaultProvider="fake" />
<add name="fake" type="Sitecore.FakeDb.Security.Authentication.FakeAuthenticationProvider, Sitecore.FakeDb" />
</providers>
</authentication>
<!-- ROLES -->
<rolesInRolesManager>
<providers>
<clear />
<add name="fake" type="Sitecore.FakeDb.Security.Accounts.FakeRolesInRolesProvider, Sitecore.FakeDb" globalRolesConfigStoreName="globalRoles" />
</providers>
</rolesInRolesManager>
<!-- AUTHORIZATION -->
<authorization>
<providers>
<clear />
<add name="fake" type="Sitecore.FakeDb.Security.AccessControl.FakeAuthorizationProvider, Sitecore.FakeDb" />
</providers>
</authorization>
<!-- ACCESS RIGHTS -->
<accessRights>
<providers>
<clear />
<add name="fake" type="Sitecore.FakeDb.Security.AccessControl.FakeAccessRightProvider, Sitecore.FakeDb" />
</providers>
</accessRights>
<!-- SEARCH -->
<contentSearch>
<configuration type="Sitecore.ContentSearch.ProviderIndexSearchConfiguration, Sitecore.ContentSearch" />
</contentSearch>
<switchingProviders>
<membership>
<provider providerName="fake" storeFullNames="true" wildcard="%" domains="*" />
</membership>
<roleManager>
<provider providerName="fake" storeFullNames="true" wildcard="%" domains="*" />
</roleManager>
<profile>
<provider providerName="fake" storeFullNames="true" wildcard="%" domains="*" />
</profile>
</switchingProviders>
<mediaLibrary>
<!-- MEDIA PROVIDER -->
<mediaProvider type="Sitecore.FakeDb.Resources.Media.FakeMediaProvider, Sitecore.FakeDb" />
</mediaLibrary>
<archives defaultProvider="sql" enabled="true">
<providers>
<clear />
<add name="sql" type="Sitecore.Data.Archiving.SqlArchiveProvider, Sitecore.Kernel" database="*" />
<add name="switcher" type="Sitecore.Data.Archiving.SwitchingArchiveProvider, Sitecore.Kernel" />
</providers>
</archives>
</sitecore>
<log4net />
<system.web>
<membership defaultProvider="fake" hashAlgorithmType="SHA1">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Security.SitecoreMembershipProvider, Sitecore.Kernel" realProviderName="fake" providerWildcard="%" raiseEvents="true" />
<add name="fake" type="Sitecore.FakeDb.Security.Web.FakeMembershipProvider, Sitecore.FakeDb" />
<add name="switcher" type="Sitecore.Security.SwitchingMembershipProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/membership" />
</providers>
</membership>
<roleManager defaultProvider="fake" enabled="true">
<providers>
<clear />
<add name="sitecore" type="Sitecore.Security.SitecoreRoleProvider, Sitecore.Kernel" realProviderName="fake" raiseEvents="true" />
<add name="fake" type="Sitecore.FakeDb.Security.Web.FakeRoleProvider, Sitecore.FakeDb" />
<add name="switcher" type="Sitecore.Security.SwitchingRoleProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/roleManager" />
</providers>
</roleManager>
<profile defaultProvider="fake" enabled="true" inherits="Sitecore.FakeDb.Profile.FakeUserProfile, Sitecore.FakeDb">
<providers>
<clear />
<add name="fake" type="Sitecore.FakeDb.Security.Web.FakeProfileProvider, Sitecore.FakeDb" />
<add name="switcher" type="Sitecore.Security.SwitchingProfileProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/profile" />
</providers>
<properties>
<clear />
<add type="System.String" name="SC_UserData" />
</properties>
</profile>
</system.web>

</configuration>
59 changes: 59 additions & 0 deletions src/Rainbow.Storage.Sc.Tests/App_Config/FieldTypes.config
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- Defines the releation between a field type name, e.g. "lookup", and an implementation class -->

<!-- Simple Types -->
<fieldType name="Checkbox" type="Sitecore.Data.Fields.CheckboxField,Sitecore.Kernel" />
<fieldType name="Date" type="Sitecore.Data.Fields.DateField,Sitecore.Kernel" />
<fieldType name="Datetime" type="Sitecore.Data.Fields.DateField,Sitecore.Kernel" />
<fieldType name="File" type="Sitecore.Data.Fields.FileField,Sitecore.Kernel" />
<fieldType name="Image" type="Sitecore.Data.Fields.ImageField,Sitecore.Kernel" />
<fieldType name="Rich Text" type="Sitecore.Data.Fields.HtmlField,Sitecore.Kernel" resizable="true" />
<fieldType name="Single-Line Text" type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" />
<fieldType name="Word Document" type="Sitecore.Data.Fields.WordDocumentField,Sitecore.Kernel" blob="true" />
<fieldType name="Multi-Line Text" type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" resizable="true" />
<!-- List Types -->
<fieldType name="Checklist" type="Sitecore.Data.Fields.MultilistField,Sitecore.Kernel" resizable="true" />
<fieldType name="Droplist" type="Sitecore.Data.Fields.ValueLookupField,Sitecore.Kernel" />
<fieldType name="Grouped Droplink" type="Sitecore.Data.Fields.GroupedDroplinkField,Sitecore.Kernel" />
<fieldType name="Grouped Droplist" type="Sitecore.Data.Fields.GroupedDroplistField,Sitecore.Kernel" />
<fieldType name="Multilist" type="Sitecore.Data.Fields.MultilistField,Sitecore.Kernel" resizable="true" />
<fieldType name="Multilist with Search" type="Sitecore.Data.Fields.MultilistField,Sitecore.Kernel" resizable="true" />
<fieldType name="Name Value List" type="Sitecore.Data.Fields.NameValueListField,Sitecore.Kernel" />
<fieldType name="Treelist" type="Sitecore.Data.Fields.MultilistField,Sitecore.Kernel" />
<fieldType name="Treelist with Search" type="Sitecore.Data.Fields.MultilistField,Sitecore.Kernel" />
<fieldType name="TreelistEx" type="Sitecore.Data.Fields.MultilistField,Sitecore.Kernel" />
<!-- Link Types -->
<fieldType name="Droplink" type="Sitecore.Data.Fields.LookupField,Sitecore.Kernel" />
<fieldType name="Droptree" type="Sitecore.Data.Fields.ReferenceField,Sitecore.Kernel" />
<fieldType name="General Link" type="Sitecore.Data.Fields.LinkField,Sitecore.Kernel" />
<fieldType name="General Link with Search" type="Sitecore.Data.Fields.LinkField,Sitecore.Kernel" />
<fieldType name="Version Link" type="Sitecore.Data.Fields.VersionLinkField,Sitecore.Kernel" />
<!-- Developer Types -->
<fieldType name="Frame" type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" resizable="true" />
<fieldType name="Rules" type="Sitecore.Data.Fields.RulesField,Sitecore.Kernel" resizable="true" />
<fieldType name="Tracking" type="Sitecore.Analytics.Data.TrackingField,Sitecore.Analytics" resizable="true" />
<!-- System Types -->
<fieldType name="Datasource" type="Sitecore.Data.Fields.DatasourceField,Sitecore.Kernel" />
<fieldType name="Custom" type="Sitecore.Data.Fields.CustomCustomField,Sitecore.Kernel" />
<fieldType name="Internal Link" type="Sitecore.Data.Fields.InternalLinkField,Sitecore.Kernel" />
<fieldType name="Layout" type="Sitecore.Data.Fields.LayoutField,Sitecore.Kernel" />
<fieldType name="Template Field Source" type="Sitecore.Data.Fields.TemplateFieldSourceField,Sitecore.Kernel" />
<fieldType name="File Drop Area" type="Sitecore.Data.Fields.FileDropAreaField,Sitecore.Kernel" />
<fieldType name="Page Preview" type="Sitecore.Data.Fields.PagePreviewField,Sitecore.Kernel" />
<fieldType name="Rendering Datasource" type="Sitecore.Data.Fields.RenderingDatasourceField,Sitecore.Kernel" />
<fieldType name="Thumbnail" type="Sitecore.Data.Fields.ThumbnailField,Sitecore.Kernel" />
<fieldType name="Security" type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" resizable="true" />
<fieldType name="UserList" type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" resizable="true" />
<!-- Deprecated Types -->
<fieldType name="html" type="Sitecore.Data.Fields.HtmlField,Sitecore.Kernel" resizable="true" />
<fieldType name="link" type="Sitecore.Data.Fields.LinkField,Sitecore.Kernel" />
<fieldType name="lookup" type="Sitecore.Data.Fields.LookupField,Sitecore.Kernel" />
<fieldType name="reference" type="Sitecore.Data.Fields.ReferenceField,Sitecore.Kernel" />
<fieldType name="text" type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" />
<fieldType name="memo" type="Sitecore.Data.Fields.TextField,Sitecore.Kernel" resizable="true" />
<fieldType name="tree" type="Sitecore.Data.Fields.ReferenceField,Sitecore.Kernel" />
<fieldType name="tree list" type="Sitecore.Data.Fields.MultilistField,Sitecore.Kernel" />
<fieldType name="valuelookup" type="Sitecore.Data.Fields.ValueLookupField,Sitecore.Kernel" />
</configuration>

0 comments on commit 7304aaf

Please sign in to comment.