Browse Source

Merge branch 'master' of github.com:Squidex/squidex

pull/866/head
Sebastian 4 years ago
parent
commit
e21d0cbea4
  1. 14
      backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs
  2. 4
      backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplatesOptions.cs
  3. 2
      backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj
  4. 2
      backend/src/Squidex/Squidex.csproj
  5. 10
      backend/tests/docker-compose.yml
  6. 23
      backend/tools/TestSuite/TestSuite.ApiTests/AppCreationTests.cs
  7. 2
      backend/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj
  8. 2
      backend/tools/TestSuite/TestSuite.LoadTests/TestSuite.LoadTests.csproj
  9. 3
      backend/tools/TestSuite/TestSuite.Shared/ClientManagerWrapper.cs
  10. 2
      backend/tools/TestSuite/TestSuite.Shared/Fixtures/ClientFixture.cs
  11. 4
      backend/tools/TestSuite/TestSuite.Shared/TestSuite.Shared.csproj

14
backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs

@ -6,6 +6,7 @@
// ==========================================================================
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Squidex.CLI.Commands.Implementation;
using Squidex.CLI.Commands.Implementation.FileSystem;
using Squidex.CLI.Commands.Implementation.Sync;
@ -28,13 +29,15 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates
public sealed class TemplateCommandMiddleware : ICommandMiddleware
{
private readonly TemplatesClient templatesClient;
private readonly TemplatesOptions templateOptions;
private readonly IUrlGenerator urlGenerator;
private readonly ISemanticLog log;
public TemplateCommandMiddleware(TemplatesClient templatesClient, IUrlGenerator urlGenerator,
public TemplateCommandMiddleware(TemplatesClient templatesClient, IOptions<TemplatesOptions> templateOptions, IUrlGenerator urlGenerator,
ISemanticLog log)
{
this.templatesClient = templatesClient;
this.templateOptions = templateOptions.Value;
this.urlGenerator = urlGenerator;
this.log = log;
@ -102,6 +105,13 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates
{
var client = app.Clients.First();
var url = templateOptions.LocalUrl;
if (string.IsNullOrEmpty(url))
{
url = urlGenerator.Root();
}
return new Session(
app.Name,
new DirectoryInfo(Path.GetTempPath()),
@ -111,7 +121,7 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates
AppName = app.Name,
ClientId = $"{app.Name}:{client.Key}",
ClientSecret = client.Value.Secret,
Url = urlGenerator.Root()
Url = url
}));
}
}

4
backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplatesOptions.cs

@ -5,12 +5,12 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
#pragma warning disable SA1313 // Parameter names should begin with lower-case letter
namespace Squidex.Domain.Apps.Entities.Apps.Templates
{
public sealed class TemplatesOptions
{
public string? LocalUrl { get; set; }
public TemplateRepository[] Repositories { get; set; }
}
}

2
backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj

@ -34,7 +34,7 @@
<PackageReference Include="Microsoft.Orleans.Core" Version="3.6.0" />
<PackageReference Include="Notifo.SDK" Version="1.0.1" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.CLI.Core" Version="8.6.0" />
<PackageReference Include="Squidex.CLI.Core" Version="8.8.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="6.0.0" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
backend/src/Squidex/Squidex.csproj

@ -83,7 +83,7 @@
<PackageReference Include="Squidex.Assets.S3" Version="2.18.0" />
<PackageReference Include="Squidex.Assets.TusAdapter" Version="2.18.0" />
<PackageReference Include="Squidex.Caching.Orleans" Version="1.9.0" />
<PackageReference Include="Squidex.ClientLibrary" Version="8.11.0" />
<PackageReference Include="Squidex.ClientLibrary" Version="8.12.0" />
<PackageReference Include="Squidex.Hosting" Version="2.13.0" />
<PackageReference Include="Squidex.OpenIddict.MongoDb" Version="4.0.1-dev" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />

10
backend/tests/docker-compose.yml

@ -13,15 +13,17 @@ services:
- "8080:80"
environment:
- URLS__BASEURL=http://localhost:8080
- ASSETS_RESIZERURL=http://resizer:8081
- EVENTSTORE__MONGODB__CONFIGURATION=mongodb://mongo
- GRAPHQL__CACHEDURATION=0
- IDENTITY__ADMINCLIENTID=root
- IDENTITY__ADMINCLIENTSECRET=xeLd6jFxqbXJrfmNLlO2j1apagGGGSyZJhFnIuHp4I0=
- IDENTITY__MULTIPLEDOMAINS=true
- SCRIPTING__TIMEOUTEXECUTION=00:00:10
- SCRIPTING__TIMEOUTSCRIPT=00:00:10
- STORE__MONGODB__CONFIGURATION=mongodb://mongo
- STORE__TYPE=MongoDB
- SCRIPTING__TIMEOUTSCRIPT=00:00:10
- SCRIPTING__TIMEOUTEXECUTION=00:00:10
- GRAPHQL__CACHEDURATION=0
- ASSETS_RESIZERURL=http://resizer:8081
- TEMPLATES__LOCALURL=http://localhost:80
networks:
- internal
depends_on:

23
backend/tools/TestSuite/TestSuite.ApiTests/AppCreationTests.cs

@ -113,5 +113,28 @@ namespace TestSuite.ApiTests
// STEP 3: Create app again
await _.Apps.PostAppAsync(createRequest);
}
[Fact]
public async Task Should_create_app_from_templates()
{
var appName = Guid.NewGuid().ToString();
// STEP 1: Get template.
var templates = await _.Templates.GetTemplatesAsync();
var template = templates.Items.First(x => x.IsStarter);
// STEP 2: Create app.
var createRequest = new CreateAppDto { Name = appName, Template = template.Name };
await _.Apps.PostAppAsync(createRequest);
// STEP 3: Get schemas
var schemas = await _.Schemas.GetSchemasAsync(appName);
Assert.NotEmpty(schemas.Items);
}
}
}

2
backend/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj

@ -14,7 +14,7 @@
<None Remove="Assets\SampleImage_WEBP_350kb - Copy.webp" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Meziantou.Analyzer" Version="1.0.697">
<PackageReference Include="Meziantou.Analyzer" Version="1.0.698">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

2
backend/tools/TestSuite/TestSuite.LoadTests/TestSuite.LoadTests.csproj

@ -6,7 +6,7 @@
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Meziantou.Analyzer" Version="1.0.697">
<PackageReference Include="Meziantou.Analyzer" Version="1.0.698">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

3
backend/tools/TestSuite/TestSuite.Shared/ClientManagerWrapper.cs

@ -41,6 +41,9 @@ namespace TestSuite
[Lazy]
public ISchemasClient Schemas => ClientManager.CreateSchemasClient();
[Lazy]
public ITemplatesClient Templates => ClientManager.CreateTemplatesClient();
public ClientManagerWrapper()
{
var appName = GetValue("config:app:name", "integration-tests");

2
backend/tools/TestSuite/TestSuite.Shared/Fixtures/ClientFixture.cs

@ -22,5 +22,7 @@ namespace TestSuite.Fixtures
public IRulesClient Rules => Squidex.Rules;
public ISchemasClient Schemas => Squidex.Schemas;
public ITemplatesClient Templates => Squidex.Templates;
}
}

4
backend/tools/TestSuite/TestSuite.Shared/TestSuite.Shared.csproj

@ -11,7 +11,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Lazy.Fody" Version="1.11.0" PrivateAssets="all" />
<PackageReference Include="Meziantou.Analyzer" Version="1.0.697">
<PackageReference Include="Meziantou.Analyzer" Version="1.0.698">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
@ -21,7 +21,7 @@
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="Squidex.ClientLibrary" Version="8.11.0" />
<PackageReference Include="Squidex.ClientLibrary" Version="8.12.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
<PackageReference Include="xunit" Version="2.4.1" />
</ItemGroup>

Loading…
Cancel
Save