mirror of https://github.com/Squidex/squidex.git
2 changed files with 0 additions and 145 deletions
@ -1,12 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Linq; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
|
|
||||
namespace TestSuite.Fixtures |
|
||||
{ |
|
||||
internal class SchemaFixtureBase |
|
||||
{ |
|
||||
} |
|
||||
} |
|
||||
@ -1,133 +0,0 @@ |
|||||
// ==========================================================================
|
|
||||
// Squidex Headless CMS
|
|
||||
// ==========================================================================
|
|
||||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|
||||
// All rights reserved. Licensed under the MIT license.
|
|
||||
// ==========================================================================
|
|
||||
|
|
||||
using System.Collections.Concurrent; |
|
||||
using Squidex.ClientLibrary; |
|
||||
using Squidex.ClientLibrary.Management; |
|
||||
using TestSuite.Model; |
|
||||
|
|
||||
namespace TestSuite |
|
||||
{ |
|
||||
public static class SharedInstances |
|
||||
{ |
|
||||
private static readonly string[] Contributors = |
|
||||
{ |
|
||||
"hello@squidex.io" |
|
||||
}; |
|
||||
|
|
||||
private static readonly Task<ClientManagerWrapper> ClientManager = CreateClientManagerInternalAsync(); |
|
||||
|
|
||||
private static readonly ConcurrentDictionary<string, Task> ReferenceSchemas = |
|
||||
new ConcurrentDictionary<string, Task>(); |
|
||||
|
|
||||
private static readonly ConcurrentDictionary<string, Task> DefaultSchemas = |
|
||||
new ConcurrentDictionary<string, Task>(); |
|
||||
|
|
||||
private static readonly Task App = CreateAppInternalAsync(); |
|
||||
|
|
||||
private static Task<ClientManagerWrapper> CreateClientManagerInternalAsync() |
|
||||
{ |
|
||||
var clientManager = new ClientManagerWrapper(); |
|
||||
|
|
||||
return clientManager.ConnectAsync(); |
|
||||
} |
|
||||
|
|
||||
private static async Task CreateAppInternalAsync() |
|
||||
{ |
|
||||
var wrapper = await ClientManager; |
|
||||
|
|
||||
try |
|
||||
{ |
|
||||
await wrapper.Apps.PostAppAsync(new CreateAppDto { Name = wrapper.ClientManager.App }); |
|
||||
} |
|
||||
catch (SquidexManagementException ex) |
|
||||
{ |
|
||||
if (ex.StatusCode != 400) |
|
||||
{ |
|
||||
throw; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
var invite = new AssignContributorDto { Invite = true, Role = "Owner" }; |
|
||||
|
|
||||
foreach (var contributor in Contributors) |
|
||||
{ |
|
||||
invite.ContributorId = contributor; |
|
||||
|
|
||||
await wrapper.Apps.PostContributorAsync(wrapper.ClientManager.App, invite); |
|
||||
} |
|
||||
|
|
||||
try |
|
||||
{ |
|
||||
await wrapper.Apps.PostLanguageAsync(wrapper.ClientManager.App, new AddLanguageDto |
|
||||
{ |
|
||||
Language = "de" |
|
||||
}); |
|
||||
} |
|
||||
catch (SquidexManagementException ex) |
|
||||
{ |
|
||||
if (ex.StatusCode != 400) |
|
||||
{ |
|
||||
throw; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
public static Task<ClientManagerWrapper> CreateClientManagerAsync() |
|
||||
{ |
|
||||
return ClientManager; |
|
||||
} |
|
||||
|
|
||||
public static async Task<IContentsClient<TestEntityWithReferences, TestEntityWithReferencesData>> CreateReferenceSchema(string name) |
|
||||
{ |
|
||||
var wrapper = await ClientManager; |
|
||||
|
|
||||
async Task CreateAsync() |
|
||||
{ |
|
||||
try |
|
||||
{ |
|
||||
await TestEntityWithReferences.CreateSchemaAsync(wrapper.Schemas, wrapper.ClientManager.App, name); |
|
||||
} |
|
||||
catch (SquidexManagementException ex) |
|
||||
{ |
|
||||
if (ex.StatusCode != 400) |
|
||||
{ |
|
||||
throw; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
await ReferenceSchemas.GetOrAdd(name, _ => CreateAsync()); |
|
||||
|
|
||||
return wrapper.ClientManager.CreateContentsClient<TestEntityWithReferences, TestEntityWithReferencesData>(name); |
|
||||
} |
|
||||
|
|
||||
public static async Task<IContentsClient<TestEntity, TestEntityData>> CreateDefaultSchema(string name) |
|
||||
{ |
|
||||
var wrapper = await ClientManager; |
|
||||
|
|
||||
async Task CreateAsync() |
|
||||
{ |
|
||||
try |
|
||||
{ |
|
||||
await TestEntity.CreateSchemaAsync(wrapper.Schemas, wrapper.ClientManager.App, name); |
|
||||
} |
|
||||
catch (SquidexManagementException ex) |
|
||||
{ |
|
||||
if (ex.StatusCode != 400) |
|
||||
{ |
|
||||
throw; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
await DefaultSchemas.GetOrAdd(name, _ => CreateAsync()); |
|
||||
|
|
||||
return wrapper.ClientManager.CreateContentsClient<TestEntity, TestEntityData>(name); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue