Merge pull request #51 from dotnet-architecture/dev
eShopOnContainers fork
This commit is contained in:
commit
3f0c46741a
@ -7,7 +7,6 @@
|
||||
docker-compose*.yml
|
||||
docker-compose.dcproj
|
||||
*.sln
|
||||
!eShopOnContainers-ServicesAndWebApps.sln
|
||||
*.md
|
||||
hosts
|
||||
LICENSE
|
||||
@ -31,4 +30,13 @@ cli-linux
|
||||
**/wwwroot/lib/*
|
||||
global.json
|
||||
**/appsettings.localhost.json
|
||||
src/Web/WebSPA/wwwroot/
|
||||
src/Web/WebSPA/wwwroot/
|
||||
packages/
|
||||
csproj-files/
|
||||
test-results/
|
||||
TestResults/
|
||||
src/Mobile/
|
||||
src/Web/Catalog.WebForms/
|
||||
src/Web/WebMonolithic/
|
||||
src/BuildingBlocks/CommandBus/
|
||||
src/Services/Marketing/Infrastructure/
|
5
.gitignore
vendored
5
.gitignore
vendored
@ -26,6 +26,9 @@ bld/
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
|
||||
# Dockerfile projects folder for restore-packages script
|
||||
csproj-files/
|
||||
|
||||
# .js files created on build:
|
||||
src/Web/WebMVC/wwwroot/js/site*
|
||||
|
||||
@ -42,6 +45,8 @@ src/Web/WebMVC/wwwroot/js/site*
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
tests-results/
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
|
@ -50,31 +50,3 @@ jobs:
|
||||
inputs:
|
||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||
artifactName: helm
|
||||
- job: BuildWindows
|
||||
pool:
|
||||
vmImage: 'vs2017-win2016'
|
||||
steps:
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose build apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
||||
- task: DockerCompose@0
|
||||
displayName: Compose push apigws
|
||||
inputs:
|
||||
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
||||
containerregistrytype: Container Registry
|
||||
dockerRegistryEndpoint: $(registryEndpoint)
|
||||
dockerComposeFile: docker-compose.yml
|
||||
qualifyImageNames: true
|
||||
projectName: ""
|
||||
dockerComposeFileArgs: |
|
||||
TAG=$(Build.SourceBranchName)
|
||||
PLATFORM=win
|
2
cli-windows/set-dockernat-networkategory-to-private.ps1
Normal file
2
cli-windows/set-dockernat-networkategory-to-private.ps1
Normal file
@ -0,0 +1,2 @@
|
||||
#Requires -RunAsAdministrator
|
||||
Get-NetConnectionProfile | Where-Object { $_.InterfaceAlias -match "(DockerNAT)" } | ForEach-Object { Set-NetConnectionProfile -InterfaceIndex $_.InterfaceIndex -NetworkCategory Private }
|
@ -110,6 +110,7 @@ services:
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
- UseLoadTest=${USE_LOADTEST:-False}
|
||||
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
||||
ports:
|
||||
- "5102:80" # Important: In a production environment your should remove the external port (5102) kept here for microservice debugging purposes.
|
||||
# The API Gateway redirects and access through the internal port (80).
|
||||
@ -130,6 +131,7 @@ services:
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
- UseLoadTest=${USE_LOADTEST:-False}
|
||||
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
||||
ports:
|
||||
- "5111:80"
|
||||
|
||||
@ -168,6 +170,8 @@ services:
|
||||
- AzureServiceBusEnabled=False
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
- Serilog__MinimumLevel__Override__Payment.API.IntegrationEvents.EventHandling=Verbose
|
||||
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
||||
ports:
|
||||
- "5108:80" # Important: In a production environment your should remove the external port (5108) kept here for microservice debugging purposes.
|
||||
# The API Gateway redirects and access through the internal port (80).
|
||||
@ -326,40 +330,40 @@ services:
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Production
|
||||
- ASPNETCORE_URLS=http://0.0.0.0:80
|
||||
- HealthChecks-UI__HealthChecks__1__Name=WebMVC HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__1__Uri=http://webmvc/hc
|
||||
- HealthChecks-UI__HealthChecks__2__Name=WebSPA HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__2__Uri=http://webspa/hc
|
||||
- HealthChecks-UI__HealthChecks__3__Name=Web Shopping Aggregator GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__3__Uri=http://webshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__4__Name=Mobile Shopping Aggregator HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__4__Uri=http://mobileshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__5__Name=Mobile Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__5__Uri=http://mobileshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__6__Name=Mobile Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__6__Uri=http://mobilemarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__7__Name=Web Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__7__Uri=http://webshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__8__Name=Web Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__8__Uri=http://webmarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__9__Name=Ordering HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__9__Uri=http://ordering.api/hc
|
||||
- HealthChecks-UI__HealthChecks__10__Name=Ordering HTTP Background Check
|
||||
- HealthChecks-UI__HealthChecks__10__Uri=http://ordering.backgroundtasks/hc
|
||||
- HealthChecks-UI__HealthChecks__11__Name=Basket HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__11__Uri=http://basket.api/hc
|
||||
- HealthChecks-UI__HealthChecks__12__Name=Catalog HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__12__Uri=http://catalog.api/hc
|
||||
- HealthChecks-UI__HealthChecks__13__Name=Identity HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__13__Uri=http://identity.api/hc
|
||||
- HealthChecks-UI__HealthChecks__14__Name=Marketing HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__14__Uri=http://marketing.api/hc
|
||||
- HealthChecks-UI__HealthChecks__15__Name=Locations HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__15__Uri=http://locations.api/hc
|
||||
- HealthChecks-UI__HealthChecks__16__Name=Payments HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__16__Uri=http://payment.api/hc
|
||||
- HealthChecks-UI__HealthChecks__17__Name=Ordering SignalRHub HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__17__Uri=http://ordering.signalrhub/hc
|
||||
- HealthChecks-UI__HealthChecks__0__Name=WebMVC HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__0__Uri=http://webmvc/hc
|
||||
- HealthChecks-UI__HealthChecks__1__Name=WebSPA HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__1__Uri=http://webspa/hc
|
||||
- HealthChecks-UI__HealthChecks__2__Name=Web Shopping Aggregator GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__2__Uri=http://webshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__3__Name=Mobile Shopping Aggregator HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__3__Uri=http://mobileshoppingagg/hc
|
||||
- HealthChecks-UI__HealthChecks__4__Name=Mobile Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__4__Uri=http://mobileshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__5__Name=Mobile Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__5__Uri=http://mobilemarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__6__Name=Web Shopping API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__6__Uri=http://webshoppingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__7__Name=Web Marketing API GW HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__7__Uri=http://webmarketingapigw/hc
|
||||
- HealthChecks-UI__HealthChecks__8__Name=Ordering HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__8__Uri=http://ordering.api/hc
|
||||
- HealthChecks-UI__HealthChecks__9__Name=Ordering HTTP Background Check
|
||||
- HealthChecks-UI__HealthChecks__9__Uri=http://ordering.backgroundtasks/hc
|
||||
- HealthChecks-UI__HealthChecks__10__Name=Basket HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__10__Uri=http://basket.api/hc
|
||||
- HealthChecks-UI__HealthChecks__11__Name=Catalog HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__11__Uri=http://catalog.api/hc
|
||||
- HealthChecks-UI__HealthChecks__12__Name=Identity HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__12__Uri=http://identity.api/hc
|
||||
- HealthChecks-UI__HealthChecks__13__Name=Marketing HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__13__Uri=http://marketing.api/hc
|
||||
- HealthChecks-UI__HealthChecks__14__Name=Locations HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__14__Uri=http://locations.api/hc
|
||||
- HealthChecks-UI__HealthChecks__15__Name=Payments HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__15__Uri=http://payment.api/hc
|
||||
- HealthChecks-UI__HealthChecks__16__Name=Ordering SignalRHub HTTP Check
|
||||
- HealthChecks-UI__HealthChecks__16__Uri=http://ordering.signalrhub/hc
|
||||
- OrderingBackgroundTasksUrl=http://ordering.backgroundtasks/hc
|
||||
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
|
||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||
|
@ -45,7 +45,7 @@ if ([string]::IsNullOrEmpty($dns)) {
|
||||
|
||||
if ($clean) {
|
||||
Write-Host "Cleaning previous helm releases..." -ForegroundColor Green
|
||||
helm delete --purge $(helm ls -q)
|
||||
helm delete --purge $(helm ls -q eshop)
|
||||
Write-Host "Previous releases deleted" -ForegroundColor Green
|
||||
}
|
||||
|
||||
@ -91,4 +91,4 @@ else {
|
||||
Write-Host "eShopOnContainers non-infrastructure charts aren't installed (-deployCharts is false)" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
Write-Host "helm charts installed." -ForegroundColor Green
|
||||
Write-Host "helm charts installed." -ForegroundColor Green
|
||||
|
1
restore-packages.cmd
Normal file
1
restore-packages.cmd
Normal file
@ -0,0 +1 @@
|
||||
for /R %%f in (*.csproj) do dotnet restore --no-dependencies %%f
|
@ -1,6 +1,6 @@
|
||||
$startTime = $(Get-Date)
|
||||
|
||||
docker-compose build
|
||||
docker-compose build --build-arg RUN=scripts/restore-packages
|
||||
|
||||
$elapsedTime = $(Get-Date) - $startTime
|
||||
|
||||
|
1
scripts/restore-packages
Normal file
1
scripts/restore-packages
Normal file
@ -0,0 +1 @@
|
||||
echo RESTORING ALL PACKAGES...; for f in /src/csproj-files/*.csproj; do dotnet restore $f; done
|
1
scripts/restore-packages.cmd
Normal file
1
scripts/restore-packages.cmd
Normal file
@ -0,0 +1 @@
|
||||
for %%p in (csproj-files\*.csproj) do dotnet restore %%p
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/ApiGateways/ApiGw-Base/
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/ApiGateways/Mobile.Bff.Shopping/aggregator
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/ApiGateways/Web.Bff.Shopping/aggregator
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -80,13 +80,16 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
|
||||
_logger.LogWarning(ex, "Could not publish event: {EventId} after {Timeout}s ({ExceptionMessage})", @event.Id, $"{time.TotalSeconds:n1}", ex.Message);
|
||||
});
|
||||
|
||||
var eventName = @event.GetType().Name;
|
||||
|
||||
_logger.LogTrace("Creating RabbitMQ channel to publish event: {EventId} ({EventName})", @event.Id, eventName);
|
||||
|
||||
using (var channel = _persistentConnection.CreateModel())
|
||||
{
|
||||
var eventName = @event.GetType()
|
||||
.Name;
|
||||
|
||||
channel.ExchangeDeclare(exchange: BROKER_NAME,
|
||||
type: "direct");
|
||||
_logger.LogTrace("Declaring RabbitMQ exchange to publish event: {EventId}", @event.Id);
|
||||
|
||||
channel.ExchangeDeclare(exchange: BROKER_NAME, type: "direct");
|
||||
|
||||
var message = JsonConvert.SerializeObject(@event);
|
||||
var body = Encoding.UTF8.GetBytes(message);
|
||||
@ -96,11 +99,14 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
|
||||
var properties = channel.CreateBasicProperties();
|
||||
properties.DeliveryMode = 2; // persistent
|
||||
|
||||
channel.BasicPublish(exchange: BROKER_NAME,
|
||||
routingKey: eventName,
|
||||
mandatory: true,
|
||||
basicProperties: properties,
|
||||
body: body);
|
||||
_logger.LogTrace("Publishing event to RabbitMQ: {EventId}", @event.Id);
|
||||
|
||||
channel.BasicPublish(
|
||||
exchange: BROKER_NAME,
|
||||
routingKey: eventName,
|
||||
mandatory: true,
|
||||
basicProperties: properties,
|
||||
body: body);
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -176,6 +182,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
|
||||
|
||||
private void StartBasicConsume()
|
||||
{
|
||||
_logger.LogTrace("Starting RabbitMQ basic consume");
|
||||
|
||||
if (_consumerChannel != null)
|
||||
{
|
||||
var consumer = new AsyncEventingBasicConsumer(_consumerChannel);
|
||||
@ -225,6 +233,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
|
||||
_persistentConnection.TryConnect();
|
||||
}
|
||||
|
||||
_logger.LogTrace("Creating RabbitMQ consumer channel");
|
||||
|
||||
var channel = _persistentConnection.CreateModel();
|
||||
|
||||
channel.ExchangeDeclare(exchange: BROKER_NAME,
|
||||
@ -238,6 +248,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
|
||||
|
||||
channel.CallbackException += (sender, ea) =>
|
||||
{
|
||||
_logger.LogWarning(ea.Exception, "Recreating RabbitMQ consumer channel");
|
||||
|
||||
_consumerChannel.Dispose();
|
||||
_consumerChannel = CreateConsumerChannel();
|
||||
StartBasicConsume();
|
||||
@ -248,6 +260,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
|
||||
|
||||
private async Task ProcessEvent(string eventName, string message)
|
||||
{
|
||||
_logger.LogTrace("Processing RabbitMQ event: {EventName}", eventName);
|
||||
|
||||
if (_subsManager.HasSubscriptionsForEvent(eventName))
|
||||
{
|
||||
using (var scope = _autofac.BeginLifetimeScope(AUTOFAC_SCOPE_NAME))
|
||||
@ -274,6 +288,10 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogWarning("No subscription for RabbitMQ event: {EventName}", eventName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF
|
||||
public class IntegrationEventLogEntry
|
||||
{
|
||||
private IntegrationEventLogEntry() { }
|
||||
public IntegrationEventLogEntry(IntegrationEvent @event)
|
||||
public IntegrationEventLogEntry(IntegrationEvent @event, Guid transactionId)
|
||||
{
|
||||
EventId = @event.Id;
|
||||
CreationTime = @event.CreationDate;
|
||||
@ -20,7 +20,9 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF
|
||||
Content = JsonConvert.SerializeObject(@event);
|
||||
State = EventStateEnum.NotPublished;
|
||||
TimesSent = 0;
|
||||
TransactionId = transactionId.ToString();
|
||||
}
|
||||
|
||||
public Guid EventId { get; private set; }
|
||||
public string EventTypeName { get; private set; }
|
||||
[NotMapped]
|
||||
@ -31,6 +33,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF
|
||||
public int TimesSent { get; set; }
|
||||
public DateTime CreationTime { get; private set; }
|
||||
public string Content { get; private set; }
|
||||
public string TransactionId { get; private set; }
|
||||
|
||||
public IntegrationEventLogEntry DeserializeJsonContent(Type type)
|
||||
{
|
||||
|
@ -1,4 +1,5 @@
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
@ -9,8 +10,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF.Servi
|
||||
{
|
||||
public interface IIntegrationEventLogService
|
||||
{
|
||||
Task<IEnumerable<IntegrationEventLogEntry>> RetrieveEventLogsPendingToPublishAsync();
|
||||
Task SaveEventAsync(IntegrationEvent @event, DbTransaction transaction);
|
||||
Task<IEnumerable<IntegrationEventLogEntry>> RetrieveEventLogsPendingToPublishAsync(Guid transactionId);
|
||||
Task SaveEventAsync(IntegrationEvent @event, IDbContextTransaction transaction);
|
||||
Task MarkEventAsPublishedAsync(Guid eventId);
|
||||
Task MarkEventAsInProgressAsync(Guid eventId);
|
||||
Task MarkEventAsFailedAsync(Guid eventId);
|
||||
|
@ -1,5 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Diagnostics;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
|
||||
using Newtonsoft.Json;
|
||||
@ -34,25 +35,24 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF.Servi
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<IntegrationEventLogEntry>> RetrieveEventLogsPendingToPublishAsync()
|
||||
public async Task<IEnumerable<IntegrationEventLogEntry>> RetrieveEventLogsPendingToPublishAsync(Guid transactionId)
|
||||
{
|
||||
var tid = transactionId.ToString();
|
||||
|
||||
return await _integrationEventLogContext.IntegrationEventLogs
|
||||
.Where(e => e.State == EventStateEnum.NotPublished)
|
||||
.Where(e => e.TransactionId == tid && e.State == EventStateEnum.NotPublished)
|
||||
.OrderBy(o => o.CreationTime)
|
||||
.Select(e => e.DeserializeJsonContent(_eventTypes.Find(t=> t.Name == e.EventTypeShortName)))
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public Task SaveEventAsync(IntegrationEvent @event, DbTransaction transaction)
|
||||
public Task SaveEventAsync(IntegrationEvent @event, IDbContextTransaction transaction)
|
||||
{
|
||||
if (transaction == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(transaction), $"A {typeof(DbTransaction).FullName} is required as a pre-requisite to save the event.");
|
||||
}
|
||||
if (transaction == null) throw new ArgumentNullException(nameof(transaction));
|
||||
|
||||
var eventLogEntry = new IntegrationEventLogEntry(@event);
|
||||
var eventLogEntry = new IntegrationEventLogEntry(@event, transaction.TransactionId);
|
||||
|
||||
_integrationEventLogContext.Database.UseTransaction(transaction);
|
||||
_integrationEventLogContext.Database.UseTransaction(transaction.GetDbTransaction());
|
||||
_integrationEventLogContext.IntegrationEventLogs.Add(eventLogEntry);
|
||||
|
||||
return _integrationEventLogContext.SaveChangesAsync();
|
||||
|
@ -4,19 +4,29 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Basket/Basket.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
|
||||
FROM build as functionaltest
|
||||
WORKDIR /src/src/Services/Basket/Basket.FunctionalTests
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build as unittest
|
||||
WORKDIR /src/src/Services/Basket/Basket.UnitTests
|
||||
|
||||
FROM build as functionaltest
|
||||
WORKDIR /src/src/Services/Basket/Basket.FunctionalTests
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -4,10 +4,21 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Catalog/Catalog.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build as unittest
|
||||
WORKDIR /src/src/Services/Catalog/Catalog.UnitTests
|
||||
@ -16,7 +27,6 @@ FROM build as functionaltest
|
||||
WORKDIR /src/src/Services/Catalog/Catalog.FunctionalTests
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -0,0 +1,50 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF;
|
||||
|
||||
namespace Catalog.API.Infrastructure.IntegrationEventMigrations
|
||||
{
|
||||
[DbContext(typeof(IntegrationEventLogContext))]
|
||||
[Migration("20190507184807_AddTransactionId")]
|
||||
partial class AddTransactionId
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF.IntegrationEventLogEntry", b =>
|
||||
{
|
||||
b.Property<Guid>("EventId")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("Content")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<DateTime>("CreationTime");
|
||||
|
||||
b.Property<string>("EventTypeName")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<int>("State");
|
||||
|
||||
b.Property<int>("TimesSent");
|
||||
|
||||
b.Property<string>("TransactionId");
|
||||
|
||||
b.HasKey("EventId");
|
||||
|
||||
b.ToTable("IntegrationEventLog");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Catalog.API.Infrastructure.IntegrationEventMigrations
|
||||
{
|
||||
public partial class AddTransactionId : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "TransactionId",
|
||||
table: "IntegrationEventLog",
|
||||
nullable: true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "TransactionId",
|
||||
table: "IntegrationEventLog");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Design;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF;
|
||||
|
||||
namespace Catalog.API.Infrastructure.IntegrationEventMigrations
|
||||
{
|
||||
public class IntegrationEventLogContextDesignTimeFactory : IDesignTimeDbContextFactory<IntegrationEventLogContext>
|
||||
{
|
||||
public IntegrationEventLogContext CreateDbContext(string[] args)
|
||||
{
|
||||
var optionsBuilder = new DbContextOptionsBuilder<IntegrationEventLogContext>();
|
||||
|
||||
optionsBuilder.UseSqlServer(".", options => options.MigrationsAssembly(GetType().Assembly.GetName().Name));
|
||||
|
||||
return new IntegrationEventLogContext(optionsBuilder.Options);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
using System;
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF;
|
||||
|
||||
namespace Catalog.API.Migrations
|
||||
@ -12,8 +13,10 @@ namespace Catalog.API.Migrations
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "1.1.1")
|
||||
.HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF.IntegrationEventLogEntry", b =>
|
||||
@ -33,10 +36,13 @@ namespace Catalog.API.Migrations
|
||||
|
||||
b.Property<int>("TimesSent");
|
||||
|
||||
b.Property<string>("TransactionId");
|
||||
|
||||
b.HasKey("EventId");
|
||||
|
||||
b.ToTable("IntegrationEventLog");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ namespace Catalog.API.IntegrationEvents
|
||||
{
|
||||
// Achieving atomicity between original catalog database operation and the IntegrationEventLog thanks to a local transaction
|
||||
await _catalogContext.SaveChangesAsync();
|
||||
await _eventLogService.SaveEventAsync(evt, _catalogContext.Database.CurrentTransaction.GetDbTransaction());
|
||||
await _eventLogService.SaveEventAsync(evt, _catalogContext.Database.CurrentTransaction);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.eShopOnContainers.Services.Identity.API.Models;
|
||||
using Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels;
|
||||
using Microsoft.eShopOnContainers.Services.Identity.API.Services;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Microsoft.eShopOnContainers.Services.Identity.API.Controllers
|
||||
@ -32,6 +33,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Controllers
|
||||
private readonly IClientStore _clientStore;
|
||||
private readonly ILogger<AccountController> _logger;
|
||||
private readonly UserManager<ApplicationUser> _userManager;
|
||||
private readonly IConfiguration _configuration;
|
||||
|
||||
public AccountController(
|
||||
|
||||
@ -40,13 +42,15 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Controllers
|
||||
IIdentityServerInteractionService interaction,
|
||||
IClientStore clientStore,
|
||||
ILogger<AccountController> logger,
|
||||
UserManager<ApplicationUser> userManager)
|
||||
UserManager<ApplicationUser> userManager,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
_loginService = loginService;
|
||||
_interaction = interaction;
|
||||
_clientStore = clientStore;
|
||||
_logger = logger;
|
||||
_userManager = userManager;
|
||||
_configuration = configuration;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -81,20 +85,21 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Controllers
|
||||
|
||||
if (await _loginService.ValidateCredentials(user, model.Password))
|
||||
{
|
||||
var tokenLifetime = _configuration.GetValue("TokenLifetimeMinutes", 120);
|
||||
|
||||
var props = new AuthenticationProperties
|
||||
{
|
||||
ExpiresUtc = DateTimeOffset.UtcNow.AddHours(2),
|
||||
ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(tokenLifetime),
|
||||
AllowRefresh = true,
|
||||
RedirectUri = model.ReturnUrl
|
||||
};
|
||||
|
||||
if (model.RememberMe)
|
||||
{
|
||||
props = new AuthenticationProperties
|
||||
{
|
||||
IsPersistent = true,
|
||||
ExpiresUtc = DateTimeOffset.UtcNow.AddYears(10)
|
||||
};
|
||||
var permanentTokenLifetime = _configuration.GetValue("PermanentTokenLifetimeDays", 365);
|
||||
|
||||
props.ExpiresUtc = DateTimeOffset.UtcNow.AddDays(permanentTokenLifetime);
|
||||
props.IsPersistent = true;
|
||||
};
|
||||
|
||||
await _loginService.SignInAsync(user, props);
|
||||
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Identity/Identity.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -25,5 +25,7 @@
|
||||
"Name": "eshop",
|
||||
"ClientId": "your-clien-id",
|
||||
"ClientSecret": "your-client-secret"
|
||||
}
|
||||
},
|
||||
"TokenLifetimeMinutes": 120,
|
||||
"PermanentTokenLifetimeDays": 365
|
||||
}
|
||||
|
@ -4,16 +4,26 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Location/Locations.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build as functionaltest
|
||||
WORKDIR /src/src/Services/Location/Locations.FunctionalTests
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -4,16 +4,26 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Marketing/Marketing.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build as functionaltest
|
||||
WORKDIR /src/src/Services/Marketing/Marketing.FunctionalTests
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -19,7 +19,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.2.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
|
||||
@ -30,7 +30,6 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Web\WebMVC\WebMVC.csproj" />
|
||||
<ProjectReference Include="..\Marketing.API\Marketing.API.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -28,7 +28,7 @@ namespace Marketing.FunctionalTests
|
||||
[Fact]
|
||||
public async Task Post_add_new_user_location_rule_and_response_ok_status_code()
|
||||
{
|
||||
var campaignId = 81;
|
||||
var campaignId = 2;
|
||||
|
||||
using (var server = CreateServer())
|
||||
{
|
||||
@ -44,7 +44,7 @@ namespace Marketing.FunctionalTests
|
||||
[Fact]
|
||||
public async Task Delete_delete_user_location_role_and_response_not_content_status_code()
|
||||
{
|
||||
var campaignId = 81;
|
||||
var campaignId = 2;
|
||||
|
||||
using (var server = CreateServer())
|
||||
{
|
||||
|
@ -42,6 +42,8 @@ namespace Ordering.API.Application.Behaviors
|
||||
|
||||
await strategy.ExecuteAsync(async () =>
|
||||
{
|
||||
Guid transactionId;
|
||||
|
||||
using (var transaction = await _dbContext.BeginTransactionAsync())
|
||||
using (LogContext.PushProperty("TransactionContext", transaction.TransactionId))
|
||||
{
|
||||
@ -52,9 +54,11 @@ namespace Ordering.API.Application.Behaviors
|
||||
_logger.LogInformation("----- Commit transaction {TransactionId} for {CommandName}", transaction.TransactionId, typeName);
|
||||
|
||||
await _dbContext.CommitTransactionAsync(transaction);
|
||||
|
||||
transactionId = transaction.TransactionId;
|
||||
}
|
||||
|
||||
await _orderingIntegrationEventService.PublishEventsThroughEventBusAsync();
|
||||
await _orderingIntegrationEventService.PublishEventsThroughEventBusAsync(transactionId);
|
||||
});
|
||||
|
||||
return response;
|
||||
|
@ -33,7 +33,7 @@ namespace Ordering.API.Application.Commands
|
||||
}
|
||||
|
||||
orderToUpdate.SetCancelledStatus();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
_orderRepository.Add(order);
|
||||
|
||||
return await _orderRepository.UnitOfWork
|
||||
.SaveEntitiesAsync();
|
||||
.SaveEntitiesAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands
|
||||
command);
|
||||
|
||||
// Send the embeded business command to mediator so it runs its related CommandHandler
|
||||
var result = await _mediator.Send(command);
|
||||
var result = await _mediator.Send(command, cancellationToken);
|
||||
|
||||
_logger.LogInformation(
|
||||
"----- Command result: {@Result} - {CommandName} - {IdProperty}: {CommandId} ({@Command})",
|
||||
|
@ -33,7 +33,7 @@ namespace Ordering.API.Application.Commands
|
||||
}
|
||||
|
||||
orderToUpdate.SetAwaitingValidationStatus();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ namespace Ordering.API.Application.Commands
|
||||
public async Task<bool> Handle(SetPaidOrderStatusCommand command, CancellationToken cancellationToken)
|
||||
{
|
||||
// Simulate a work time for validating the payment
|
||||
await Task.Delay(10000);
|
||||
await Task.Delay(10000, cancellationToken);
|
||||
|
||||
var orderToUpdate = await _orderRepository.GetAsync(command.OrderNumber);
|
||||
if(orderToUpdate == null)
|
||||
@ -36,7 +36,7 @@ namespace Ordering.API.Application.Commands
|
||||
}
|
||||
|
||||
orderToUpdate.SetPaidStatus();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ namespace Ordering.API.Application.Commands
|
||||
public async Task<bool> Handle(SetStockConfirmedOrderStatusCommand command, CancellationToken cancellationToken)
|
||||
{
|
||||
// Simulate a work time for confirming the stock
|
||||
await Task.Delay(10000);
|
||||
await Task.Delay(10000, cancellationToken);
|
||||
|
||||
var orderToUpdate = await _orderRepository.GetAsync(command.OrderNumber);
|
||||
if(orderToUpdate == null)
|
||||
@ -36,7 +36,7 @@ namespace Ordering.API.Application.Commands
|
||||
}
|
||||
|
||||
orderToUpdate.SetStockConfirmedStatus();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ namespace Ordering.API.Application.Commands
|
||||
public async Task<bool> Handle(SetStockRejectedOrderStatusCommand command, CancellationToken cancellationToken)
|
||||
{
|
||||
// Simulate a work time for rejecting the stock
|
||||
await Task.Delay(10000);
|
||||
await Task.Delay(10000, cancellationToken);
|
||||
|
||||
var orderToUpdate = await _orderRepository.GetAsync(command.OrderNumber);
|
||||
if(orderToUpdate == null)
|
||||
@ -37,7 +37,7 @@ namespace Ordering.API.Application.Commands
|
||||
|
||||
orderToUpdate.SetCancelledStatusWhenStockIsRejected(command.OrderStockItems);
|
||||
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ namespace Ordering.API.Application.Commands
|
||||
}
|
||||
|
||||
orderToUpdate.SetShippedStatus();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync();
|
||||
return await _orderRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,7 @@ namespace Ordering.API.Application.DomainEventHandlers.OrderStartedEvent
|
||||
_buyerRepository.Add(buyer);
|
||||
|
||||
await _buyerRepository.UnitOfWork
|
||||
.SaveEntitiesAsync();
|
||||
.SaveEntitiesAsync(cancellationToken);
|
||||
|
||||
var orderStatusChangedTosubmittedIntegrationEvent = new OrderStatusChangedToSubmittedIntegrationEvent(orderStartedEvent.Order.Id, orderStartedEvent.Order.OrderStatus.Name, buyer.Name);
|
||||
await _orderingIntegrationEventService.AddAndSaveEventAsync(orderStatusChangedTosubmittedIntegrationEvent);
|
||||
|
@ -1,11 +1,12 @@
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Ordering.API.Application.IntegrationEvents
|
||||
{
|
||||
public interface IOrderingIntegrationEventService
|
||||
{
|
||||
Task PublishEventsThroughEventBusAsync();
|
||||
Task PublishEventsThroughEventBusAsync(Guid transactionId);
|
||||
Task AddAndSaveEventAsync(IntegrationEvent evt);
|
||||
}
|
||||
}
|
||||
|
@ -39,11 +39,11 @@ namespace Ordering.API.Application.IntegrationEvents
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
}
|
||||
|
||||
public async Task PublishEventsThroughEventBusAsync()
|
||||
public async Task PublishEventsThroughEventBusAsync(Guid transactionId)
|
||||
{
|
||||
var pendindLogEvents = await _eventLogService.RetrieveEventLogsPendingToPublishAsync();
|
||||
var pendingLogEvents = await _eventLogService.RetrieveEventLogsPendingToPublishAsync(transactionId);
|
||||
|
||||
foreach (var logEvt in pendindLogEvents)
|
||||
foreach (var logEvt in pendingLogEvents)
|
||||
{
|
||||
_logger.LogInformation("----- Publishing integration event: {IntegrationEventId} from {AppName} - ({@IntegrationEvent})", logEvt.EventId, Program.AppName, logEvt.IntegrationEvent);
|
||||
|
||||
@ -66,7 +66,7 @@ namespace Ordering.API.Application.IntegrationEvents
|
||||
{
|
||||
_logger.LogInformation("----- Enqueuing integration event {IntegrationEventId} to repository ({@IntegrationEvent})", evt.Id, evt);
|
||||
|
||||
await _eventLogService.SaveEventAsync(evt, _orderingContext.GetCurrentTransaction.GetDbTransaction());
|
||||
await _eventLogService.SaveEventAsync(evt, _orderingContext.GetCurrentTransaction());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,19 +4,29 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
|
||||
FROM build as functionaltest
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.FunctionalTests
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build as unittest
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.UnitTests
|
||||
|
||||
FROM build as functionaltest
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.FunctionalTests
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -0,0 +1,50 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF;
|
||||
|
||||
namespace Ordering.API.Infrastructure.IntegrationEventMigrations
|
||||
{
|
||||
[DbContext(typeof(IntegrationEventLogContext))]
|
||||
[Migration("20190507185219_AddTransactionId")]
|
||||
partial class AddTransactionId
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF.IntegrationEventLogEntry", b =>
|
||||
{
|
||||
b.Property<Guid>("EventId")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("Content")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<DateTime>("CreationTime");
|
||||
|
||||
b.Property<string>("EventTypeName")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<int>("State");
|
||||
|
||||
b.Property<int>("TimesSent");
|
||||
|
||||
b.Property<string>("TransactionId");
|
||||
|
||||
b.HasKey("EventId");
|
||||
|
||||
b.ToTable("IntegrationEventLog");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Ordering.API.Infrastructure.IntegrationEventMigrations
|
||||
{
|
||||
public partial class AddTransactionId : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "TransactionId",
|
||||
table: "IntegrationEventLog",
|
||||
nullable: true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "TransactionId",
|
||||
table: "IntegrationEventLog");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Design;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF;
|
||||
|
||||
namespace Catalog.API.Infrastructure.IntegrationEventMigrations
|
||||
{
|
||||
public class IntegrationEventLogContextDesignTimeFactory : IDesignTimeDbContextFactory<IntegrationEventLogContext>
|
||||
{
|
||||
public IntegrationEventLogContext CreateDbContext(string[] args)
|
||||
{
|
||||
var optionsBuilder = new DbContextOptionsBuilder<IntegrationEventLogContext>();
|
||||
|
||||
optionsBuilder.UseSqlServer(".", options => options.MigrationsAssembly(GetType().Assembly.GetName().Name));
|
||||
|
||||
return new IntegrationEventLogContext(optionsBuilder.Options);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
using System;
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF;
|
||||
|
||||
namespace Ordering.API.Infrastructure.IntegrationEventMigrations
|
||||
@ -12,8 +13,10 @@ namespace Ordering.API.Infrastructure.IntegrationEventMigrations
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "1.1.1")
|
||||
.HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
||||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
||||
|
||||
modelBuilder.Entity("Microsoft.eShopOnContainers.BuildingBlocks.IntegrationEventLogEF.IntegrationEventLogEntry", b =>
|
||||
@ -33,10 +36,13 @@ namespace Ordering.API.Infrastructure.IntegrationEventMigrations
|
||||
|
||||
b.Property<int>("TimesSent");
|
||||
|
||||
b.Property<string>("TransactionId");
|
||||
|
||||
b.HasKey("EventId");
|
||||
|
||||
b.ToTable("IntegrationEventLog");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.BackgroundTasks
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -29,7 +29,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Infrastructure
|
||||
|
||||
private OrderingContext(DbContextOptions<OrderingContext> options) : base(options) { }
|
||||
|
||||
public IDbContextTransaction GetCurrentTransaction => _currentTransaction;
|
||||
public IDbContextTransaction GetCurrentTransaction() => _currentTransaction;
|
||||
|
||||
public bool HasActiveTransaction => _currentTransaction != null;
|
||||
|
||||
@ -64,7 +64,7 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.Infrastructure
|
||||
|
||||
// After executing this line all the changes (from the Command Handler and Domain Event Handlers)
|
||||
// performed through the DbContext will be committed
|
||||
var result = await base.SaveChangesAsync();
|
||||
var result = await base.SaveChangesAsync(cancellationToken);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Ordering/Ordering.SignalrHub
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore Ordering.SignalrHub.csproj -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore Ordering.SignalrHub.csproj -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Services/Payment/Payment.API
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -23,6 +23,8 @@
|
||||
_eventBus = eventBus;
|
||||
_settings = settings.Value;
|
||||
_logger = logger ?? throw new System.ArgumentNullException(nameof(logger));
|
||||
|
||||
_logger.LogTrace("PaymentSettings: {@PaymentSettings}", _settings);
|
||||
}
|
||||
|
||||
public async Task Handle(OrderStatusChangedToStockConfirmedIntegrationEvent @event)
|
||||
|
@ -4,14 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
COPY ["src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj", "src/Services/Webhooks/Webhooks.API/"]
|
||||
RUN dotnet restore "src/Services/Webhooks/Webhooks.API/Webhooks.API.csproj"
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR "/src/src/Services/Webhooks/Webhooks.API"
|
||||
RUN dotnet build "Webhooks.API.csproj" -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "Webhooks.API.csproj" -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -6,19 +6,29 @@ using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
using Microsoft.AspNetCore.Authentication.OpenIdConnect;
|
||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.eShopOnContainers.WebMVC.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
public class AccountController : Controller
|
||||
{
|
||||
private readonly ILogger<AccountController> _logger;
|
||||
|
||||
public AccountController(ILogger<AccountController> logger)
|
||||
{
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public async Task<IActionResult> SignIn(string returnUrl)
|
||||
{
|
||||
var user = User as ClaimsPrincipal;
|
||||
|
||||
var token = await HttpContext.GetTokenAsync("access_token");
|
||||
|
||||
_logger.LogInformation("----- User {@User} authenticated into {AppName}", user, Program.AppName);
|
||||
|
||||
if (token != null)
|
||||
{
|
||||
ViewData["access_token"] = token;
|
||||
|
@ -4,12 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Web/WebMVC
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -238,6 +238,7 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
var useLoadTest = configuration.GetValue<bool>("UseLoadTest");
|
||||
var identityUrl = configuration.GetValue<string>("IdentityUrl");
|
||||
var callBackUrl = configuration.GetValue<string>("CallBackUrl");
|
||||
var sessionCookieLifetime = configuration.GetValue("SessionCookieLifetimeMinutes", 60);
|
||||
|
||||
// Add Authentication services
|
||||
|
||||
@ -246,7 +247,7 @@ namespace Microsoft.eShopOnContainers.WebMVC
|
||||
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
|
||||
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
|
||||
})
|
||||
.AddCookie(setup=>setup.ExpireTimeSpan = TimeSpan.FromHours(2))
|
||||
.AddCookie(setup=>setup.ExpireTimeSpan = TimeSpan.FromMinutes(sessionCookieLifetime))
|
||||
.AddOpenIdConnect(options =>
|
||||
{
|
||||
options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
|
||||
|
@ -1,6 +1,8 @@
|
||||
@model CampaignItem
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Campaign details";
|
||||
@model CampaignItem
|
||||
|
||||
var headerList= new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" },
|
||||
new Header() { Controller = "Campaigns", Text = "Back to Campaigns" } };
|
||||
@ -18,7 +20,7 @@
|
||||
<img class="card-img-top" src="@Model.PictureUri" alt="Card image cap">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">@Model.Name</h4>
|
||||
<p class="card-text">@Model.Description</p>
|
||||
<p class="card-text">@Model.Description</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<small class="text-muted">
|
||||
|
@ -1,6 +1,8 @@
|
||||
@model WebMVC.ViewModels.CampaignViewModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Campaigns";
|
||||
@model WebMVC.ViewModels.CampaignViewModel
|
||||
|
||||
var headerList= new List<Header>() {
|
||||
new Header() { Controller = "Catalog", Text = "Back to catalog" } };
|
||||
}
|
||||
@ -11,23 +13,23 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<partial name="_Header" model="headerList"/>
|
||||
<partial name="_Header" model="headerList" />
|
||||
|
||||
<div class="container">
|
||||
<br />
|
||||
<div class="row">
|
||||
|
||||
|
||||
@if (!ViewData.ModelState.IsValid)
|
||||
{
|
||||
<div class="alert alert-warning">
|
||||
@Html.ValidationSummary(false)
|
||||
</div>
|
||||
}
|
||||
<div class="alert alert-warning">
|
||||
@Html.ValidationSummary(false)
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="esh-campaigns-items" style="font-weight: 300;">
|
||||
UPDATE USER LOCATION
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<form class="form-inline" asp-action="CreateNewUserLocation" method="post">
|
||||
<label class="sr-only" for="longitudeInput">Name</label>
|
||||
@ -44,33 +46,33 @@
|
||||
<span class="input-group-text" id="inputGroup-sizing-default">Lon</span>
|
||||
</div>
|
||||
<input type="text" class="form-control mb-2 mr-sm-2 mb-sm-0" id="longitudeInput" asp-for="Lon" placeholder="Longitude">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-2 mr-sm-2 mb-sm-0 col-md-2">
|
||||
<input type="submit" value="Update" class="btn esh-campaigns-form-button" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
@if (Model != null && Model.CampaignItems !=null && Model.CampaignItems.Any())
|
||||
@if (Model != null && Model.CampaignItems !=null && Model.CampaignItems.Any())
|
||||
{
|
||||
<div class="card-group esh-campaigns-items row">
|
||||
@foreach (var catalogItem in Model.CampaignItems)
|
||||
<div class="card-group esh-campaigns-items row">
|
||||
@foreach (var catalogItem in Model.CampaignItems)
|
||||
{
|
||||
<div class="esh-campaigns-item col-md-4">
|
||||
<partial name="_campaign" model="catalogItem"/>
|
||||
</div>
|
||||
<div class="esh-campaigns-item col-md-4">
|
||||
<partial name="_campaign" model="catalogItem" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<partial name="_pagination" for="PaginationInfo" />
|
||||
<partial name="_pagination" for="PaginationInfo" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="esh-campaigns-items row">
|
||||
THERE ARE NO CAMPAIGNS
|
||||
</div>
|
||||
<div class="esh-campaigns-items row">
|
||||
THERE ARE NO CAMPAIGNS
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
@{
|
||||
@model Microsoft.eShopOnContainers.WebMVC.ViewModels.CatalogViewModels.IndexViewModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Catalog";
|
||||
@model Microsoft.eShopOnContainers.WebMVC.ViewModels.CatalogViewModels.IndexViewModel
|
||||
}
|
||||
<section class="esh-catalog-hero">
|
||||
<div class="container">
|
||||
@ -27,31 +28,31 @@
|
||||
<br />
|
||||
@if(ViewBag.BasketInoperativeMsg != null)
|
||||
{
|
||||
<div class="alert alert-warning" role="alert">
|
||||
@ViewBag.BasketInoperativeMsg
|
||||
</div>
|
||||
<div class="alert alert-warning" role="alert">
|
||||
@ViewBag.BasketInoperativeMsg
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (Model.CatalogItems.Count() > 0)
|
||||
{
|
||||
<partial name="_pagination" for="PaginationInfo" />
|
||||
<partial name="_pagination" for="PaginationInfo" />
|
||||
|
||||
<div class="esh-catalog-items row">
|
||||
@foreach (var catalogItem in Model.CatalogItems)
|
||||
<div class="esh-catalog-items row">
|
||||
@foreach (var catalogItem in Model.CatalogItems)
|
||||
{
|
||||
<div class="esh-catalog-item col-md-4">
|
||||
<partial name="_product" model="catalogItem"/>
|
||||
</div>
|
||||
}
|
||||
<div class="esh-catalog-item col-md-4">
|
||||
<partial name="_product" model="catalogItem" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<partial name="_pagination" for="PaginationInfo"/>
|
||||
<partial name="_pagination" for="PaginationInfo" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="esh-catalog-items row">
|
||||
THERE ARE NO RESULTS THAT MATCH YOUR SEARCH
|
||||
</div>
|
||||
<div class="esh-catalog-items row">
|
||||
THERE ARE NO RESULTS THAT MATCH YOUR SEARCH
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
@ -74,11 +74,11 @@
|
||||
<script src="~/js/site.js" asp-append-version="true"></script>
|
||||
</environment>
|
||||
<environment names="Staging,Production">
|
||||
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"
|
||||
asp-fallback-src="~/lib/jquery/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery">
|
||||
</script>
|
||||
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
|
||||
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
|
||||
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
|
||||
</script>
|
||||
|
@ -27,5 +27,6 @@
|
||||
"InstrumentationKey": ""
|
||||
},
|
||||
"HttpClientRetryCount": 8,
|
||||
"HttpClientExceptionsAllowedBeforeBreaking": 7
|
||||
}
|
||||
"HttpClientExceptionsAllowedBeforeBreaking": 7,
|
||||
"SessionCookieLifetimeMinutes": 60
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
"defaultProvider": "cdnjs",
|
||||
"libraries": [
|
||||
{
|
||||
"library": "jquery@3.3.1",
|
||||
"library": "jquery@3.4.1",
|
||||
"destination": "wwwroot/lib/jquery/"
|
||||
},
|
||||
{
|
||||
|
@ -3,23 +3,33 @@ FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS dotnet-build
|
||||
WORKDIR /src
|
||||
|
||||
FROM ${NODE_IMAGE} as node-build
|
||||
WORKDIR /web
|
||||
COPY src/Web/WebSPA .
|
||||
RUN npm install
|
||||
RUN npm run build:prod
|
||||
|
||||
FROM dotnet-build as publish
|
||||
WORKDIR /src/src/Web/WebSPA/wwwroot
|
||||
COPY --from=node-build /web/wwwroot .
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/
|
||||
WORKDIR /src/src/Web/WebSPA
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app .
|
||||
|
18
src/Web/WebSPA/package-lock.json
generated
18
src/Web/WebSPA/package-lock.json
generated
@ -2371,7 +2371,7 @@
|
||||
"arr-flatten": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
|
||||
"integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
|
||||
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
|
||||
},
|
||||
"arr-union": {
|
||||
"version": "3.1.0",
|
||||
@ -2835,7 +2835,7 @@
|
||||
"bn.js": {
|
||||
"version": "4.11.8",
|
||||
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
|
||||
"integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=",
|
||||
"integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
|
||||
"dev": true
|
||||
},
|
||||
"body-parser": {
|
||||
@ -3344,7 +3344,7 @@
|
||||
"cipher-base": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
|
||||
"integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
|
||||
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
@ -5864,7 +5864,7 @@
|
||||
"globals": {
|
||||
"version": "9.18.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
|
||||
"integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
|
||||
"integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
|
||||
"dev": true
|
||||
},
|
||||
"globby": {
|
||||
@ -6730,7 +6730,7 @@
|
||||
"is-plain-object": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
|
||||
"integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
|
||||
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
|
||||
"requires": {
|
||||
"isobject": "^3.0.1"
|
||||
}
|
||||
@ -6941,9 +6941,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"jquery": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
|
||||
"integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
|
||||
"integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
|
||||
},
|
||||
"js-base64": {
|
||||
"version": "2.5.1",
|
||||
@ -7786,7 +7786,7 @@
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
|
@ -44,7 +44,7 @@
|
||||
"file-loader": "2.0.0",
|
||||
"font-awesome": "4.7.0",
|
||||
"isomorphic-fetch": "2.2.1",
|
||||
"jquery": "^3.3.1",
|
||||
"jquery": "3.4.1",
|
||||
"ngx-toastr": "^9.0.2",
|
||||
"normalize.css": "8.0.0",
|
||||
"popper.js": "^1.14.4",
|
||||
|
@ -4,13 +4,23 @@ EXPOSE 80
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR /src/src/Web/WebStatus
|
||||
RUN dotnet restore -nowarn:msb3202,nu1503
|
||||
RUN dotnet build --no-restore -c Release -o /app
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish --no-restore -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
37
src/Web/WebStatus/Views/Shared/Error.cshtml
Normal file
37
src/Web/WebStatus/Views/Shared/Error.cshtml
Normal file
@ -0,0 +1,37 @@
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Error</title>
|
||||
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
|
||||
<environment names="Development">
|
||||
<link rel="stylesheet" href="~/css/site.min.css" type="text/css" />
|
||||
</environment>
|
||||
<environment names="Staging,Production">
|
||||
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
|
||||
</environment>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1 class="text-danger">Error.</h1>
|
||||
<h2 class="text-danger">An error occurred while processing your request.</h2>
|
||||
|
||||
<h3>Development Mode</h3>
|
||||
|
||||
<p>
|
||||
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Development environment should not be enabled in deployed applications</strong>, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>, and restarting the application.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -4,12 +4,6 @@
|
||||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
|
||||
<DockerComposeProjectPath>..\..\..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="Views\**" />
|
||||
<Content Remove="Views\**" />
|
||||
<EmbeddedResource Remove="Views\**" />
|
||||
<None Remove="Views\**" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="2.2.22" />
|
||||
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="2.2.3" />
|
||||
|
@ -1,5 +1,75 @@
|
||||
{
|
||||
"HealthChecks-UI": {
|
||||
"HealthChecks": [
|
||||
{
|
||||
"Name": "Ordering HTTP Check",
|
||||
"Uri": "http://localhost:5102/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Ordering HTTP Background Check",
|
||||
"Uri": "http://localhost:5111/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Basket HTTP Check",
|
||||
"Uri": "http://localhost:5103/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Catalog HTTP Check",
|
||||
"Uri": "http://localhost:5101/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Identity HTTP Check",
|
||||
"Uri": "http://localhost:5105/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Marketing HTTP Check",
|
||||
"Uri": "http://localhost:5110/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Locations HTTP Check",
|
||||
"Uri": "http://localhost:5109/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Payments HTTP Check",
|
||||
"Uri": "http://localhost:5108/hc"
|
||||
},
|
||||
{
|
||||
"Name": "WebMVC HTTP Check",
|
||||
"Uri": "http://localhost:5100/hc"
|
||||
},
|
||||
{
|
||||
"Name": "WebSPA HTTP Check",
|
||||
"Uri": "http://localhost:5104/hc"
|
||||
},
|
||||
{
|
||||
"Name": "SignalR HTTP Check",
|
||||
"Uri": "http://localhost:5112/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Mobile Shopping API GW HTTP Check",
|
||||
"Uri": "http://localhost:5200/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Mobile Marketing API GW HTTP Check",
|
||||
"Uri": "http://localhost:5201/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Web Shopping API GW HTTP Check",
|
||||
"Uri": "http://localhost:5202/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Web Marketing API GW HTTP Check",
|
||||
"Uri": "http://localhost:5203/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Mobile Shopping Aggregator HTTP Check",
|
||||
"Uri": "http://localhost:5120/hc"
|
||||
},
|
||||
{
|
||||
"Name": "Web Shopping Aggregator HTTP Check",
|
||||
"Uri": "http://localhost:5121/hc"
|
||||
}
|
||||
],
|
||||
"EvaluationTimeOnSeconds": 10,
|
||||
"MinimumSecondsBetweenFailureNotifications": 60
|
||||
},
|
||||
@ -14,13 +84,13 @@
|
||||
"System": "Warning"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Webhooks": [
|
||||
{
|
||||
"Name": "",
|
||||
"Uri": "",
|
||||
"Payload": "",
|
||||
"RestoredPayload": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"Webhooks": [
|
||||
{
|
||||
"Name": "",
|
||||
"Uri": "",
|
||||
"Payload": "",
|
||||
"RestoredPayload": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
"defaultProvider": "cdnjs",
|
||||
"libraries": [
|
||||
{
|
||||
"library": "jquery@3.3.1",
|
||||
"library": "jquery@3.4.1",
|
||||
"destination": "wwwroot/lib/jquery/"
|
||||
},
|
||||
{
|
||||
|
@ -5,14 +5,23 @@ EXPOSE 443
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
|
||||
WORKDIR /src
|
||||
COPY ["src/Web/WebhookClient/WebhookClient.csproj", "src/Web/WebhookClient/"]
|
||||
RUN dotnet restore "src/Web/WebhookClient/WebhookClient.csproj"
|
||||
|
||||
COPY scripts scripts/
|
||||
|
||||
COPY src/ApiGateways/*/*.csproj /src/csproj-files/
|
||||
COPY src/ApiGateways/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||
|
||||
ARG RUN=pwd
|
||||
RUN ${RUN}
|
||||
|
||||
COPY . .
|
||||
WORKDIR "/src/src/Web/WebhookClient"
|
||||
RUN dotnet build "WebhookClient.csproj" -c Release -o /app
|
||||
WORKDIR /src/src/Web/WebhookClient
|
||||
RUN dotnet publish -c Release -o /app
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "WebhookClient.csproj" -c Release -o /app
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
|
@ -59,11 +59,11 @@
|
||||
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"
|
||||
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
|
||||
integrity="sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==">
|
||||
</script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.bundle.min.js"
|
||||
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v3.3.1
|
||||
* jQuery JavaScript Library v3.4.1
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
@ -9,7 +9,7 @@
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2018-01-20T17:24Z
|
||||
* Date: 2019-05-01T21:04Z
|
||||
*/
|
||||
( function( global, factory ) {
|
||||
|
||||
@ -91,20 +91,33 @@ var isWindow = function isWindow( obj ) {
|
||||
var preservedScriptAttributes = {
|
||||
type: true,
|
||||
src: true,
|
||||
nonce: true,
|
||||
noModule: true
|
||||
};
|
||||
|
||||
function DOMEval( code, doc, node ) {
|
||||
function DOMEval( code, node, doc ) {
|
||||
doc = doc || document;
|
||||
|
||||
var i,
|
||||
var i, val,
|
||||
script = doc.createElement( "script" );
|
||||
|
||||
script.text = code;
|
||||
if ( node ) {
|
||||
for ( i in preservedScriptAttributes ) {
|
||||
if ( node[ i ] ) {
|
||||
script[ i ] = node[ i ];
|
||||
|
||||
// Support: Firefox 64+, Edge 18+
|
||||
// Some browsers don't support the "nonce" property on scripts.
|
||||
// On the other hand, just using `getAttribute` is not enough as
|
||||
// the `nonce` attribute is reset to an empty string whenever it
|
||||
// becomes browsing-context connected.
|
||||
// See https://github.com/whatwg/html/issues/2369
|
||||
// See https://html.spec.whatwg.org/#nonce-attributes
|
||||
// The `node.getAttribute` check was added for the sake of
|
||||
// `jQuery.globalEval` so that it can fake a nonce-containing node
|
||||
// via an object.
|
||||
val = node[ i ] || node.getAttribute && node.getAttribute( i );
|
||||
if ( val ) {
|
||||
script.setAttribute( i, val );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -129,7 +142,7 @@ function toType( obj ) {
|
||||
|
||||
|
||||
var
|
||||
version = "3.3.1",
|
||||
version = "3.4.1",
|
||||
|
||||
// Define a local copy of jQuery
|
||||
jQuery = function( selector, context ) {
|
||||
@ -258,25 +271,28 @@ jQuery.extend = jQuery.fn.extend = function() {
|
||||
|
||||
// Extend the base object
|
||||
for ( name in options ) {
|
||||
src = target[ name ];
|
||||
copy = options[ name ];
|
||||
|
||||
// Prevent Object.prototype pollution
|
||||
// Prevent never-ending loop
|
||||
if ( target === copy ) {
|
||||
if ( name === "__proto__" || target === copy ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Recurse if we're merging plain objects or arrays
|
||||
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
|
||||
( copyIsArray = Array.isArray( copy ) ) ) ) {
|
||||
src = target[ name ];
|
||||
|
||||
if ( copyIsArray ) {
|
||||
copyIsArray = false;
|
||||
clone = src && Array.isArray( src ) ? src : [];
|
||||
|
||||
// Ensure proper type for the source value
|
||||
if ( copyIsArray && !Array.isArray( src ) ) {
|
||||
clone = [];
|
||||
} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
|
||||
clone = {};
|
||||
} else {
|
||||
clone = src && jQuery.isPlainObject( src ) ? src : {};
|
||||
clone = src;
|
||||
}
|
||||
copyIsArray = false;
|
||||
|
||||
// Never move original objects, clone them
|
||||
target[ name ] = jQuery.extend( deep, clone, copy );
|
||||
@ -329,9 +345,6 @@ jQuery.extend( {
|
||||
},
|
||||
|
||||
isEmptyObject: function( obj ) {
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
// See https://github.com/eslint/eslint/issues/6125
|
||||
var name;
|
||||
|
||||
for ( name in obj ) {
|
||||
@ -341,8 +354,8 @@ jQuery.extend( {
|
||||
},
|
||||
|
||||
// Evaluates a script in a global context
|
||||
globalEval: function( code ) {
|
||||
DOMEval( code );
|
||||
globalEval: function( code, options ) {
|
||||
DOMEval( code, { nonce: options && options.nonce } );
|
||||
},
|
||||
|
||||
each: function( obj, callback ) {
|
||||
@ -498,14 +511,14 @@ function isArrayLike( obj ) {
|
||||
}
|
||||
var Sizzle =
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v2.3.3
|
||||
* Sizzle CSS Selector Engine v2.3.4
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Copyright JS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* http://jquery.org/license
|
||||
* https://js.foundation/
|
||||
*
|
||||
* Date: 2016-08-08
|
||||
* Date: 2019-04-08
|
||||
*/
|
||||
(function( window ) {
|
||||
|
||||
@ -539,6 +552,7 @@ var i,
|
||||
classCache = createCache(),
|
||||
tokenCache = createCache(),
|
||||
compilerCache = createCache(),
|
||||
nonnativeSelectorCache = createCache(),
|
||||
sortOrder = function( a, b ) {
|
||||
if ( a === b ) {
|
||||
hasDuplicate = true;
|
||||
@ -600,8 +614,7 @@ var i,
|
||||
|
||||
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
|
||||
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
|
||||
|
||||
rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
|
||||
rdescend = new RegExp( whitespace + "|>" ),
|
||||
|
||||
rpseudo = new RegExp( pseudos ),
|
||||
ridentifier = new RegExp( "^" + identifier + "$" ),
|
||||
@ -622,6 +635,7 @@ var i,
|
||||
whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
|
||||
},
|
||||
|
||||
rhtml = /HTML$/i,
|
||||
rinputs = /^(?:input|select|textarea|button)$/i,
|
||||
rheader = /^h\d$/i,
|
||||
|
||||
@ -676,9 +690,9 @@ var i,
|
||||
setDocument();
|
||||
},
|
||||
|
||||
disabledAncestor = addCombinator(
|
||||
inDisabledFieldset = addCombinator(
|
||||
function( elem ) {
|
||||
return elem.disabled === true && ("form" in elem || "label" in elem);
|
||||
return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
|
||||
},
|
||||
{ dir: "parentNode", next: "legend" }
|
||||
);
|
||||
@ -791,18 +805,22 @@ function Sizzle( selector, context, results, seed ) {
|
||||
|
||||
// Take advantage of querySelectorAll
|
||||
if ( support.qsa &&
|
||||
!compilerCache[ selector + " " ] &&
|
||||
(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
|
||||
!nonnativeSelectorCache[ selector + " " ] &&
|
||||
(!rbuggyQSA || !rbuggyQSA.test( selector )) &&
|
||||
|
||||
if ( nodeType !== 1 ) {
|
||||
newContext = context;
|
||||
newSelector = selector;
|
||||
|
||||
// qSA looks outside Element context, which is not what we want
|
||||
// Thanks to Andrew Dupont for this workaround technique
|
||||
// Support: IE <=8
|
||||
// Support: IE 8 only
|
||||
// Exclude object elements
|
||||
} else if ( context.nodeName.toLowerCase() !== "object" ) {
|
||||
(nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
|
||||
|
||||
newSelector = selector;
|
||||
newContext = context;
|
||||
|
||||
// qSA considers elements outside a scoping root when evaluating child or
|
||||
// descendant combinators, which is not what we want.
|
||||
// In such cases, we work around the behavior by prefixing every selector in the
|
||||
// list with an ID selector referencing the scope context.
|
||||
// Thanks to Andrew Dupont for this technique.
|
||||
if ( nodeType === 1 && rdescend.test( selector ) ) {
|
||||
|
||||
// Capture the context ID, setting it first if necessary
|
||||
if ( (nid = context.getAttribute( "id" )) ) {
|
||||
@ -824,17 +842,16 @@ function Sizzle( selector, context, results, seed ) {
|
||||
context;
|
||||
}
|
||||
|
||||
if ( newSelector ) {
|
||||
try {
|
||||
push.apply( results,
|
||||
newContext.querySelectorAll( newSelector )
|
||||
);
|
||||
return results;
|
||||
} catch ( qsaError ) {
|
||||
} finally {
|
||||
if ( nid === expando ) {
|
||||
context.removeAttribute( "id" );
|
||||
}
|
||||
try {
|
||||
push.apply( results,
|
||||
newContext.querySelectorAll( newSelector )
|
||||
);
|
||||
return results;
|
||||
} catch ( qsaError ) {
|
||||
nonnativeSelectorCache( selector, true );
|
||||
} finally {
|
||||
if ( nid === expando ) {
|
||||
context.removeAttribute( "id" );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -998,7 +1015,7 @@ function createDisabledPseudo( disabled ) {
|
||||
// Where there is no isDisabled, check manually
|
||||
/* jshint -W018 */
|
||||
elem.isDisabled !== !disabled &&
|
||||
disabledAncestor( elem ) === disabled;
|
||||
inDisabledFieldset( elem ) === disabled;
|
||||
}
|
||||
|
||||
return elem.disabled === disabled;
|
||||
@ -1055,10 +1072,13 @@ support = Sizzle.support = {};
|
||||
* @returns {Boolean} True iff elem is a non-HTML XML node
|
||||
*/
|
||||
isXML = Sizzle.isXML = function( elem ) {
|
||||
// documentElement is verified for cases where it doesn't yet exist
|
||||
// (such as loading iframes in IE - #4833)
|
||||
var documentElement = elem && (elem.ownerDocument || elem).documentElement;
|
||||
return documentElement ? documentElement.nodeName !== "HTML" : false;
|
||||
var namespace = elem.namespaceURI,
|
||||
docElem = (elem.ownerDocument || elem).documentElement;
|
||||
|
||||
// Support: IE <=8
|
||||
// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
|
||||
// https://bugs.jquery.com/ticket/4833
|
||||
return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
|
||||
};
|
||||
|
||||
/**
|
||||
@ -1480,11 +1500,8 @@ Sizzle.matchesSelector = function( elem, expr ) {
|
||||
setDocument( elem );
|
||||
}
|
||||
|
||||
// Make sure that attribute selectors are quoted
|
||||
expr = expr.replace( rattributeQuotes, "='$1']" );
|
||||
|
||||
if ( support.matchesSelector && documentIsHTML &&
|
||||
!compilerCache[ expr + " " ] &&
|
||||
!nonnativeSelectorCache[ expr + " " ] &&
|
||||
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
|
||||
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
|
||||
|
||||
@ -1498,7 +1515,9 @@ Sizzle.matchesSelector = function( elem, expr ) {
|
||||
elem.document && elem.document.nodeType !== 11 ) {
|
||||
return ret;
|
||||
}
|
||||
} catch (e) {}
|
||||
} catch (e) {
|
||||
nonnativeSelectorCache( expr, true );
|
||||
}
|
||||
}
|
||||
|
||||
return Sizzle( expr, document, null, [ elem ] ).length > 0;
|
||||
@ -1957,7 +1976,7 @@ Expr = Sizzle.selectors = {
|
||||
"contains": markFunction(function( text ) {
|
||||
text = text.replace( runescape, funescape );
|
||||
return function( elem ) {
|
||||
return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
|
||||
return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
|
||||
};
|
||||
}),
|
||||
|
||||
@ -2096,7 +2115,11 @@ Expr = Sizzle.selectors = {
|
||||
}),
|
||||
|
||||
"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
|
||||
var i = argument < 0 ? argument + length : argument;
|
||||
var i = argument < 0 ?
|
||||
argument + length :
|
||||
argument > length ?
|
||||
length :
|
||||
argument;
|
||||
for ( ; --i >= 0; ) {
|
||||
matchIndexes.push( i );
|
||||
}
|
||||
@ -3146,18 +3169,18 @@ jQuery.each( {
|
||||
return siblings( elem.firstChild );
|
||||
},
|
||||
contents: function( elem ) {
|
||||
if ( nodeName( elem, "iframe" ) ) {
|
||||
return elem.contentDocument;
|
||||
}
|
||||
if ( typeof elem.contentDocument !== "undefined" ) {
|
||||
return elem.contentDocument;
|
||||
}
|
||||
|
||||
// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
|
||||
// Treat the template element as a regular one in browsers that
|
||||
// don't support it.
|
||||
if ( nodeName( elem, "template" ) ) {
|
||||
elem = elem.content || elem;
|
||||
}
|
||||
// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
|
||||
// Treat the template element as a regular one in browsers that
|
||||
// don't support it.
|
||||
if ( nodeName( elem, "template" ) ) {
|
||||
elem = elem.content || elem;
|
||||
}
|
||||
|
||||
return jQuery.merge( [], elem.childNodes );
|
||||
return jQuery.merge( [], elem.childNodes );
|
||||
}
|
||||
}, function( name, fn ) {
|
||||
jQuery.fn[ name ] = function( until, selector ) {
|
||||
@ -4466,6 +4489,26 @@ var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
|
||||
|
||||
var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
|
||||
|
||||
var documentElement = document.documentElement;
|
||||
|
||||
|
||||
|
||||
var isAttached = function( elem ) {
|
||||
return jQuery.contains( elem.ownerDocument, elem );
|
||||
},
|
||||
composed = { composed: true };
|
||||
|
||||
// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
|
||||
// Check attachment across shadow DOM boundaries when possible (gh-3504)
|
||||
// Support: iOS 10.0-10.2 only
|
||||
// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
|
||||
// leading to errors. We need to check for `getRootNode`.
|
||||
if ( documentElement.getRootNode ) {
|
||||
isAttached = function( elem ) {
|
||||
return jQuery.contains( elem.ownerDocument, elem ) ||
|
||||
elem.getRootNode( composed ) === elem.ownerDocument;
|
||||
};
|
||||
}
|
||||
var isHiddenWithinTree = function( elem, el ) {
|
||||
|
||||
// isHiddenWithinTree might be called from jQuery#filter function;
|
||||
@ -4480,7 +4523,7 @@ var isHiddenWithinTree = function( elem, el ) {
|
||||
// Support: Firefox <=43 - 45
|
||||
// Disconnected elements can have computed display: none, so first confirm that elem is
|
||||
// in the document.
|
||||
jQuery.contains( elem.ownerDocument, elem ) &&
|
||||
isAttached( elem ) &&
|
||||
|
||||
jQuery.css( elem, "display" ) === "none";
|
||||
};
|
||||
@ -4522,7 +4565,8 @@ function adjustCSS( elem, prop, valueParts, tween ) {
|
||||
unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
|
||||
|
||||
// Starting value computation is required for potential unit mismatches
|
||||
initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
|
||||
initialInUnit = elem.nodeType &&
|
||||
( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
|
||||
rcssNum.exec( jQuery.css( elem, prop ) );
|
||||
|
||||
if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
|
||||
@ -4669,7 +4713,7 @@ jQuery.fn.extend( {
|
||||
} );
|
||||
var rcheckableType = ( /^(?:checkbox|radio)$/i );
|
||||
|
||||
var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
|
||||
var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
|
||||
|
||||
var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
|
||||
|
||||
@ -4741,7 +4785,7 @@ function setGlobalEval( elems, refElements ) {
|
||||
var rhtml = /<|&#?\w+;/;
|
||||
|
||||
function buildFragment( elems, context, scripts, selection, ignored ) {
|
||||
var elem, tmp, tag, wrap, contains, j,
|
||||
var elem, tmp, tag, wrap, attached, j,
|
||||
fragment = context.createDocumentFragment(),
|
||||
nodes = [],
|
||||
i = 0,
|
||||
@ -4805,13 +4849,13 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
contains = jQuery.contains( elem.ownerDocument, elem );
|
||||
attached = isAttached( elem );
|
||||
|
||||
// Append to fragment
|
||||
tmp = getAll( fragment.appendChild( elem ), "script" );
|
||||
|
||||
// Preserve script evaluation history
|
||||
if ( contains ) {
|
||||
if ( attached ) {
|
||||
setGlobalEval( tmp );
|
||||
}
|
||||
|
||||
@ -4854,8 +4898,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
|
||||
div.innerHTML = "<textarea>x</textarea>";
|
||||
support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
|
||||
} )();
|
||||
var documentElement = document.documentElement;
|
||||
|
||||
|
||||
|
||||
var
|
||||
@ -4871,8 +4913,19 @@ function returnFalse() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Support: IE <=9 - 11+
|
||||
// focus() and blur() are asynchronous, except when they are no-op.
|
||||
// So expect focus to be synchronous when the element is already active,
|
||||
// and blur to be synchronous when the element is not already active.
|
||||
// (focus and blur are always synchronous in other supported browsers,
|
||||
// this just defines when we can count on it).
|
||||
function expectSync( elem, type ) {
|
||||
return ( elem === safeActiveElement() ) === ( type === "focus" );
|
||||
}
|
||||
|
||||
// Support: IE <=9 only
|
||||
// See #13393 for more info
|
||||
// Accessing document.activeElement can throw unexpectedly
|
||||
// https://bugs.jquery.com/ticket/13393
|
||||
function safeActiveElement() {
|
||||
try {
|
||||
return document.activeElement;
|
||||
@ -5172,9 +5225,10 @@ jQuery.event = {
|
||||
while ( ( handleObj = matched.handlers[ j++ ] ) &&
|
||||
!event.isImmediatePropagationStopped() ) {
|
||||
|
||||
// Triggered event must either 1) have no namespace, or 2) have namespace(s)
|
||||
// a subset or equal to those in the bound event (both can have no namespace).
|
||||
if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
|
||||
// If the event is namespaced, then each handler is only invoked if it is
|
||||
// specially universal or its namespaces are a superset of the event's.
|
||||
if ( !event.rnamespace || handleObj.namespace === false ||
|
||||
event.rnamespace.test( handleObj.namespace ) ) {
|
||||
|
||||
event.handleObj = handleObj;
|
||||
event.data = handleObj.data;
|
||||
@ -5298,39 +5352,51 @@ jQuery.event = {
|
||||
// Prevent triggered image.load events from bubbling to window.load
|
||||
noBubble: true
|
||||
},
|
||||
focus: {
|
||||
|
||||
// Fire native event if possible so blur/focus sequence is correct
|
||||
trigger: function() {
|
||||
if ( this !== safeActiveElement() && this.focus ) {
|
||||
this.focus();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
delegateType: "focusin"
|
||||
},
|
||||
blur: {
|
||||
trigger: function() {
|
||||
if ( this === safeActiveElement() && this.blur ) {
|
||||
this.blur();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
delegateType: "focusout"
|
||||
},
|
||||
click: {
|
||||
|
||||
// For checkbox, fire native event so checked state will be right
|
||||
trigger: function() {
|
||||
if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
|
||||
this.click();
|
||||
return false;
|
||||
// Utilize native event to ensure correct state for checkable inputs
|
||||
setup: function( data ) {
|
||||
|
||||
// For mutual compressibility with _default, replace `this` access with a local var.
|
||||
// `|| data` is dead code meant only to preserve the variable through minification.
|
||||
var el = this || data;
|
||||
|
||||
// Claim the first handler
|
||||
if ( rcheckableType.test( el.type ) &&
|
||||
el.click && nodeName( el, "input" ) ) {
|
||||
|
||||
// dataPriv.set( el, "click", ... )
|
||||
leverageNative( el, "click", returnTrue );
|
||||
}
|
||||
|
||||
// Return false to allow normal processing in the caller
|
||||
return false;
|
||||
},
|
||||
trigger: function( data ) {
|
||||
|
||||
// For mutual compressibility with _default, replace `this` access with a local var.
|
||||
// `|| data` is dead code meant only to preserve the variable through minification.
|
||||
var el = this || data;
|
||||
|
||||
// Force setup before triggering a click
|
||||
if ( rcheckableType.test( el.type ) &&
|
||||
el.click && nodeName( el, "input" ) ) {
|
||||
|
||||
leverageNative( el, "click" );
|
||||
}
|
||||
|
||||
// Return non-false to allow normal event-path propagation
|
||||
return true;
|
||||
},
|
||||
|
||||
// For cross-browser consistency, don't fire native .click() on links
|
||||
// For cross-browser consistency, suppress native .click() on links
|
||||
// Also prevent it if we're currently inside a leveraged native-event stack
|
||||
_default: function( event ) {
|
||||
return nodeName( event.target, "a" );
|
||||
var target = event.target;
|
||||
return rcheckableType.test( target.type ) &&
|
||||
target.click && nodeName( target, "input" ) &&
|
||||
dataPriv.get( target, "click" ) ||
|
||||
nodeName( target, "a" );
|
||||
}
|
||||
},
|
||||
|
||||
@ -5347,6 +5413,93 @@ jQuery.event = {
|
||||
}
|
||||
};
|
||||
|
||||
// Ensure the presence of an event listener that handles manually-triggered
|
||||
// synthetic events by interrupting progress until reinvoked in response to
|
||||
// *native* events that it fires directly, ensuring that state changes have
|
||||
// already occurred before other listeners are invoked.
|
||||
function leverageNative( el, type, expectSync ) {
|
||||
|
||||
// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
|
||||
if ( !expectSync ) {
|
||||
if ( dataPriv.get( el, type ) === undefined ) {
|
||||
jQuery.event.add( el, type, returnTrue );
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Register the controller as a special universal handler for all event namespaces
|
||||
dataPriv.set( el, type, false );
|
||||
jQuery.event.add( el, type, {
|
||||
namespace: false,
|
||||
handler: function( event ) {
|
||||
var notAsync, result,
|
||||
saved = dataPriv.get( this, type );
|
||||
|
||||
if ( ( event.isTrigger & 1 ) && this[ type ] ) {
|
||||
|
||||
// Interrupt processing of the outer synthetic .trigger()ed event
|
||||
// Saved data should be false in such cases, but might be a leftover capture object
|
||||
// from an async native handler (gh-4350)
|
||||
if ( !saved.length ) {
|
||||
|
||||
// Store arguments for use when handling the inner native event
|
||||
// There will always be at least one argument (an event object), so this array
|
||||
// will not be confused with a leftover capture object.
|
||||
saved = slice.call( arguments );
|
||||
dataPriv.set( this, type, saved );
|
||||
|
||||
// Trigger the native event and capture its result
|
||||
// Support: IE <=9 - 11+
|
||||
// focus() and blur() are asynchronous
|
||||
notAsync = expectSync( this, type );
|
||||
this[ type ]();
|
||||
result = dataPriv.get( this, type );
|
||||
if ( saved !== result || notAsync ) {
|
||||
dataPriv.set( this, type, false );
|
||||
} else {
|
||||
result = {};
|
||||
}
|
||||
if ( saved !== result ) {
|
||||
|
||||
// Cancel the outer synthetic event
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
return result.value;
|
||||
}
|
||||
|
||||
// If this is an inner synthetic event for an event with a bubbling surrogate
|
||||
// (focus or blur), assume that the surrogate already propagated from triggering the
|
||||
// native event and prevent that from happening again here.
|
||||
// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
|
||||
// bubbling surrogate propagates *after* the non-bubbling base), but that seems
|
||||
// less bad than duplication.
|
||||
} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
// If this is a native event triggered above, everything is now in order
|
||||
// Fire an inner synthetic event with the original arguments
|
||||
} else if ( saved.length ) {
|
||||
|
||||
// ...and capture the result
|
||||
dataPriv.set( this, type, {
|
||||
value: jQuery.event.trigger(
|
||||
|
||||
// Support: IE <=9 - 11+
|
||||
// Extend with the prototype to reset the above stopImmediatePropagation()
|
||||
jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
|
||||
saved.slice( 1 ),
|
||||
this
|
||||
)
|
||||
} );
|
||||
|
||||
// Abort handling of the native event
|
||||
event.stopImmediatePropagation();
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
jQuery.removeEvent = function( elem, type, handle ) {
|
||||
|
||||
// This "if" is needed for plain objects
|
||||
@ -5459,6 +5612,7 @@ jQuery.each( {
|
||||
shiftKey: true,
|
||||
view: true,
|
||||
"char": true,
|
||||
code: true,
|
||||
charCode: true,
|
||||
key: true,
|
||||
keyCode: true,
|
||||
@ -5505,6 +5659,33 @@ jQuery.each( {
|
||||
}
|
||||
}, jQuery.event.addProp );
|
||||
|
||||
jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
|
||||
jQuery.event.special[ type ] = {
|
||||
|
||||
// Utilize native event if possible so blur/focus sequence is correct
|
||||
setup: function() {
|
||||
|
||||
// Claim the first handler
|
||||
// dataPriv.set( this, "focus", ... )
|
||||
// dataPriv.set( this, "blur", ... )
|
||||
leverageNative( this, type, expectSync );
|
||||
|
||||
// Return false to allow normal processing in the caller
|
||||
return false;
|
||||
},
|
||||
trigger: function() {
|
||||
|
||||
// Force setup before trigger
|
||||
leverageNative( this, type );
|
||||
|
||||
// Return non-false to allow normal event-path propagation
|
||||
return true;
|
||||
},
|
||||
|
||||
delegateType: delegateType
|
||||
};
|
||||
} );
|
||||
|
||||
// Create mouseenter/leave events using mouseover/out and event-time checks
|
||||
// so that event delegation works in jQuery.
|
||||
// Do the same for pointerenter/pointerleave and pointerover/pointerout
|
||||
@ -5755,11 +5936,13 @@ function domManip( collection, args, callback, ignored ) {
|
||||
if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
|
||||
|
||||
// Optional AJAX dependency, but won't run scripts if not present
|
||||
if ( jQuery._evalUrl ) {
|
||||
jQuery._evalUrl( node.src );
|
||||
if ( jQuery._evalUrl && !node.noModule ) {
|
||||
jQuery._evalUrl( node.src, {
|
||||
nonce: node.nonce || node.getAttribute( "nonce" )
|
||||
} );
|
||||
}
|
||||
} else {
|
||||
DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node );
|
||||
DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5781,7 +5964,7 @@ function remove( elem, selector, keepData ) {
|
||||
}
|
||||
|
||||
if ( node.parentNode ) {
|
||||
if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
|
||||
if ( keepData && isAttached( node ) ) {
|
||||
setGlobalEval( getAll( node, "script" ) );
|
||||
}
|
||||
node.parentNode.removeChild( node );
|
||||
@ -5799,7 +5982,7 @@ jQuery.extend( {
|
||||
clone: function( elem, dataAndEvents, deepDataAndEvents ) {
|
||||
var i, l, srcElements, destElements,
|
||||
clone = elem.cloneNode( true ),
|
||||
inPage = jQuery.contains( elem.ownerDocument, elem );
|
||||
inPage = isAttached( elem );
|
||||
|
||||
// Fix IE cloning issues
|
||||
if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
|
||||
@ -6095,8 +6278,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
|
||||
|
||||
// Support: IE 9 only
|
||||
// Detect overflow:scroll screwiness (gh-3699)
|
||||
// Support: Chrome <=64
|
||||
// Don't get tricked when zoom affects offsetWidth (gh-4029)
|
||||
div.style.position = "absolute";
|
||||
scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
|
||||
scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
|
||||
|
||||
documentElement.removeChild( container );
|
||||
|
||||
@ -6167,7 +6352,7 @@ function curCSS( elem, name, computed ) {
|
||||
if ( computed ) {
|
||||
ret = computed.getPropertyValue( name ) || computed[ name ];
|
||||
|
||||
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
|
||||
if ( ret === "" && !isAttached( elem ) ) {
|
||||
ret = jQuery.style( elem, name );
|
||||
}
|
||||
|
||||
@ -6223,30 +6408,13 @@ function addGetHookIf( conditionFn, hookFn ) {
|
||||
}
|
||||
|
||||
|
||||
var
|
||||
var cssPrefixes = [ "Webkit", "Moz", "ms" ],
|
||||
emptyStyle = document.createElement( "div" ).style,
|
||||
vendorProps = {};
|
||||
|
||||
// Swappable if display is none or starts with table
|
||||
// except "table", "table-cell", or "table-caption"
|
||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||
rcustomProp = /^--/,
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: "0",
|
||||
fontWeight: "400"
|
||||
},
|
||||
|
||||
cssPrefixes = [ "Webkit", "Moz", "ms" ],
|
||||
emptyStyle = document.createElement( "div" ).style;
|
||||
|
||||
// Return a css property mapped to a potentially vendor prefixed property
|
||||
// Return a vendor-prefixed property or undefined
|
||||
function vendorPropName( name ) {
|
||||
|
||||
// Shortcut for names that are not vendor prefixed
|
||||
if ( name in emptyStyle ) {
|
||||
return name;
|
||||
}
|
||||
|
||||
// Check for vendor prefixed names
|
||||
var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
|
||||
i = cssPrefixes.length;
|
||||
@ -6259,16 +6427,33 @@ function vendorPropName( name ) {
|
||||
}
|
||||
}
|
||||
|
||||
// Return a property mapped along what jQuery.cssProps suggests or to
|
||||
// a vendor prefixed property.
|
||||
// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
|
||||
function finalPropName( name ) {
|
||||
var ret = jQuery.cssProps[ name ];
|
||||
if ( !ret ) {
|
||||
ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
|
||||
var final = jQuery.cssProps[ name ] || vendorProps[ name ];
|
||||
|
||||
if ( final ) {
|
||||
return final;
|
||||
}
|
||||
return ret;
|
||||
if ( name in emptyStyle ) {
|
||||
return name;
|
||||
}
|
||||
return vendorProps[ name ] = vendorPropName( name ) || name;
|
||||
}
|
||||
|
||||
|
||||
var
|
||||
|
||||
// Swappable if display is none or starts with table
|
||||
// except "table", "table-cell", or "table-caption"
|
||||
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
|
||||
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
|
||||
rcustomProp = /^--/,
|
||||
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
|
||||
cssNormalTransform = {
|
||||
letterSpacing: "0",
|
||||
fontWeight: "400"
|
||||
};
|
||||
|
||||
function setPositiveNumber( elem, value, subtract ) {
|
||||
|
||||
// Any relative (+/-) values have already been
|
||||
@ -6340,7 +6525,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed
|
||||
delta -
|
||||
extra -
|
||||
0.5
|
||||
) );
|
||||
|
||||
// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
|
||||
// Use an explicit zero to avoid NaN (gh-3964)
|
||||
) ) || 0;
|
||||
}
|
||||
|
||||
return delta;
|
||||
@ -6350,9 +6538,16 @@ function getWidthOrHeight( elem, dimension, extra ) {
|
||||
|
||||
// Start with computed style
|
||||
var styles = getStyles( elem ),
|
||||
|
||||
// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
|
||||
// Fake content-box until we know it's needed to know the true value.
|
||||
boxSizingNeeded = !support.boxSizingReliable() || extra,
|
||||
isBorderBox = boxSizingNeeded &&
|
||||
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
|
||||
valueIsBorderBox = isBorderBox,
|
||||
|
||||
val = curCSS( elem, dimension, styles ),
|
||||
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
|
||||
valueIsBorderBox = isBorderBox;
|
||||
offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
|
||||
|
||||
// Support: Firefox <=54
|
||||
// Return a confounding non-pixel value or feign ignorance, as appropriate.
|
||||
@ -6363,22 +6558,29 @@ function getWidthOrHeight( elem, dimension, extra ) {
|
||||
val = "auto";
|
||||
}
|
||||
|
||||
// Check for style in case a browser which returns unreliable values
|
||||
// for getComputedStyle silently falls back to the reliable elem.style
|
||||
valueIsBorderBox = valueIsBorderBox &&
|
||||
( support.boxSizingReliable() || val === elem.style[ dimension ] );
|
||||
|
||||
// Fall back to offsetWidth/offsetHeight when value is "auto"
|
||||
// This happens for inline elements with no explicit setting (gh-3571)
|
||||
// Support: Android <=4.1 - 4.3 only
|
||||
// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
|
||||
if ( val === "auto" ||
|
||||
!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) {
|
||||
// Support: IE 9-11 only
|
||||
// Also use offsetWidth/offsetHeight for when box sizing is unreliable
|
||||
// We use getClientRects() to check for hidden/disconnected.
|
||||
// In those cases, the computed value can be trusted to be border-box
|
||||
if ( ( !support.boxSizingReliable() && isBorderBox ||
|
||||
val === "auto" ||
|
||||
!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
|
||||
elem.getClientRects().length ) {
|
||||
|
||||
val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ];
|
||||
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
|
||||
|
||||
// offsetWidth/offsetHeight provide border-box values
|
||||
valueIsBorderBox = true;
|
||||
// Where available, offsetWidth/offsetHeight approximate border box dimensions.
|
||||
// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
|
||||
// retrieved value as a content box dimension.
|
||||
valueIsBorderBox = offsetProp in elem;
|
||||
if ( valueIsBorderBox ) {
|
||||
val = elem[ offsetProp ];
|
||||
}
|
||||
}
|
||||
|
||||
// Normalize "" and auto
|
||||
@ -6424,6 +6626,13 @@ jQuery.extend( {
|
||||
"flexGrow": true,
|
||||
"flexShrink": true,
|
||||
"fontWeight": true,
|
||||
"gridArea": true,
|
||||
"gridColumn": true,
|
||||
"gridColumnEnd": true,
|
||||
"gridColumnStart": true,
|
||||
"gridRow": true,
|
||||
"gridRowEnd": true,
|
||||
"gridRowStart": true,
|
||||
"lineHeight": true,
|
||||
"opacity": true,
|
||||
"order": true,
|
||||
@ -6479,7 +6688,9 @@ jQuery.extend( {
|
||||
}
|
||||
|
||||
// If a number was passed in, add the unit (except for certain CSS properties)
|
||||
if ( type === "number" ) {
|
||||
// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
|
||||
// "px" to a few hardcoded values.
|
||||
if ( type === "number" && !isCustomProp ) {
|
||||
value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
|
||||
}
|
||||
|
||||
@ -6579,18 +6790,29 @@ jQuery.each( [ "height", "width" ], function( i, dimension ) {
|
||||
set: function( elem, value, extra ) {
|
||||
var matches,
|
||||
styles = getStyles( elem ),
|
||||
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
|
||||
subtract = extra && boxModelAdjustment(
|
||||
elem,
|
||||
dimension,
|
||||
extra,
|
||||
isBorderBox,
|
||||
styles
|
||||
);
|
||||
|
||||
// Only read styles.position if the test has a chance to fail
|
||||
// to avoid forcing a reflow.
|
||||
scrollboxSizeBuggy = !support.scrollboxSize() &&
|
||||
styles.position === "absolute",
|
||||
|
||||
// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
|
||||
boxSizingNeeded = scrollboxSizeBuggy || extra,
|
||||
isBorderBox = boxSizingNeeded &&
|
||||
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
|
||||
subtract = extra ?
|
||||
boxModelAdjustment(
|
||||
elem,
|
||||
dimension,
|
||||
extra,
|
||||
isBorderBox,
|
||||
styles
|
||||
) :
|
||||
0;
|
||||
|
||||
// Account for unreliable border-box dimensions by comparing offset* to computed and
|
||||
// faking a content-box to get border and padding (gh-3699)
|
||||
if ( isBorderBox && support.scrollboxSize() === styles.position ) {
|
||||
if ( isBorderBox && scrollboxSizeBuggy ) {
|
||||
subtract -= Math.ceil(
|
||||
elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
|
||||
parseFloat( styles[ dimension ] ) -
|
||||
@ -6758,9 +6980,9 @@ Tween.propHooks = {
|
||||
// Use .style if available and use plain properties where available.
|
||||
if ( jQuery.fx.step[ tween.prop ] ) {
|
||||
jQuery.fx.step[ tween.prop ]( tween );
|
||||
} else if ( tween.elem.nodeType === 1 &&
|
||||
( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
|
||||
jQuery.cssHooks[ tween.prop ] ) ) {
|
||||
} else if ( tween.elem.nodeType === 1 && (
|
||||
jQuery.cssHooks[ tween.prop ] ||
|
||||
tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
|
||||
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
|
||||
} else {
|
||||
tween.elem[ tween.prop ] = tween.now;
|
||||
@ -8467,6 +8689,10 @@ jQuery.param = function( a, traditional ) {
|
||||
encodeURIComponent( value == null ? "" : value );
|
||||
};
|
||||
|
||||
if ( a == null ) {
|
||||
return "";
|
||||
}
|
||||
|
||||
// If an array was passed in, assume that it is an array of form elements.
|
||||
if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
|
||||
|
||||
@ -8969,12 +9195,14 @@ jQuery.extend( {
|
||||
if ( !responseHeaders ) {
|
||||
responseHeaders = {};
|
||||
while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
|
||||
responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
|
||||
responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
|
||||
( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
|
||||
.concat( match[ 2 ] );
|
||||
}
|
||||
}
|
||||
match = responseHeaders[ key.toLowerCase() ];
|
||||
match = responseHeaders[ key.toLowerCase() + " " ];
|
||||
}
|
||||
return match == null ? null : match;
|
||||
return match == null ? null : match.join( ", " );
|
||||
},
|
||||
|
||||
// Raw string
|
||||
@ -9363,7 +9591,7 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
|
||||
} );
|
||||
|
||||
|
||||
jQuery._evalUrl = function( url ) {
|
||||
jQuery._evalUrl = function( url, options ) {
|
||||
return jQuery.ajax( {
|
||||
url: url,
|
||||
|
||||
@ -9373,7 +9601,16 @@ jQuery._evalUrl = function( url ) {
|
||||
cache: true,
|
||||
async: false,
|
||||
global: false,
|
||||
"throws": true
|
||||
|
||||
// Only evaluate the response if it is successful (gh-4126)
|
||||
// dataFilter is not invoked for failure responses, so using it instead
|
||||
// of the default converter is kludgy but it works.
|
||||
converters: {
|
||||
"text script": function() {}
|
||||
},
|
||||
dataFilter: function( response ) {
|
||||
jQuery.globalEval( response, options );
|
||||
}
|
||||
} );
|
||||
};
|
||||
|
||||
@ -9656,24 +9893,21 @@ jQuery.ajaxPrefilter( "script", function( s ) {
|
||||
// Bind script tag hack transport
|
||||
jQuery.ajaxTransport( "script", function( s ) {
|
||||
|
||||
// This transport only deals with cross domain requests
|
||||
if ( s.crossDomain ) {
|
||||
// This transport only deals with cross domain or forced-by-attrs requests
|
||||
if ( s.crossDomain || s.scriptAttrs ) {
|
||||
var script, callback;
|
||||
return {
|
||||
send: function( _, complete ) {
|
||||
script = jQuery( "<script>" ).prop( {
|
||||
charset: s.scriptCharset,
|
||||
src: s.url
|
||||
} ).on(
|
||||
"load error",
|
||||
callback = function( evt ) {
|
||||
script = jQuery( "<script>" )
|
||||
.attr( s.scriptAttrs || {} )
|
||||
.prop( { charset: s.scriptCharset, src: s.url } )
|
||||
.on( "load error", callback = function( evt ) {
|
||||
script.remove();
|
||||
callback = null;
|
||||
if ( evt ) {
|
||||
complete( evt.type === "error" ? 404 : 200, evt.type );
|
||||
}
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
// Use native DOM manipulation to avoid our domManip AJAX trickery
|
||||
document.head.appendChild( script[ 0 ] );
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
34
src/csproj-files.txt
Normal file
34
src/csproj-files.txt
Normal file
@ -0,0 +1,34 @@
|
||||
COPY src/ApiGateways/ApiGw-Base/*.csproj /src/src/ApiGateways/ApiGw-Base/
|
||||
COPY src/ApiGateways/Mobile.Bff.Shopping/aggregator/*.csproj /src/src/ApiGateways/Mobile.Bff.Shopping/aggregator/
|
||||
COPY src/ApiGateways/Web.Bff.Shopping/aggregator/*.csproj /src/src/ApiGateways/Web.Bff.Shopping/aggregator/
|
||||
COPY src/BuildingBlocks/EventBus/CommandBus/*.csproj /src/src/BuildingBlocks/EventBus/CommandBus/
|
||||
COPY src/BuildingBlocks/EventBus/EventBus/*.csproj /src/src/BuildingBlocks/EventBus/EventBus/
|
||||
COPY src/BuildingBlocks/EventBus/EventBus.Tests/*.csproj /src/src/BuildingBlocks/EventBus/EventBus.Tests/
|
||||
COPY src/BuildingBlocks/EventBus/EventBusRabbitMQ/*.csproj /src/src/BuildingBlocks/EventBus/EventBusRabbitMQ/
|
||||
COPY src/BuildingBlocks/EventBus/EventBusServiceBus/*.csproj /src/src/BuildingBlocks/EventBus/EventBusServiceBus/
|
||||
COPY src/BuildingBlocks/EventBus/IntegrationEventLogEF/*.csproj /src/src/BuildingBlocks/EventBus/IntegrationEventLogEF/
|
||||
COPY src/BuildingBlocks/WebHostCustomization/WebHost.Customization/*.csproj /src/src/BuildingBlocks/WebHostCustomization/WebHost.Customization/
|
||||
COPY src/Services/Basket/Basket.API/*.csproj /src/src/Services/Basket/Basket.API/
|
||||
COPY src/Services/Basket/Basket.FunctionalTests/*.csproj /src/src/Services/Basket/Basket.FunctionalTests/
|
||||
COPY src/Services/Basket/Basket.UnitTests/*.csproj /src/src/Services/Basket/Basket.UnitTests/
|
||||
COPY src/Services/Catalog/Catalog.API/*.csproj /src/src/Services/Catalog/Catalog.API/
|
||||
COPY src/Services/Catalog/Catalog.FunctionalTests/*.csproj /src/src/Services/Catalog/Catalog.FunctionalTests/
|
||||
COPY src/Services/Catalog/Catalog.UnitTests/*.csproj /src/src/Services/Catalog/Catalog.UnitTests/
|
||||
COPY src/Services/Identity/Identity.API/*.csproj /src/src/Services/Identity/Identity.API/
|
||||
COPY src/Services/Location/Locations.API/*.csproj /src/src/Services/Location/Locations.API/
|
||||
COPY src/Services/Location/Locations.FunctionalTests/*.csproj /src/src/Services/Location/Locations.FunctionalTests/
|
||||
COPY src/Services/Marketing/Marketing.API/*.csproj /src/src/Services/Marketing/Marketing.API/
|
||||
COPY src/Services/Marketing/Marketing.FunctionalTests/*.csproj /src/src/Services/Marketing/Marketing.FunctionalTests/
|
||||
COPY src/Services/Ordering/Ordering.API/*.csproj /src/src/Services/Ordering/Ordering.API/
|
||||
COPY src/Services/Ordering/Ordering.BackgroundTasks/*.csproj /src/src/Services/Ordering/Ordering.BackgroundTasks/
|
||||
COPY src/Services/Ordering/Ordering.Domain/*.csproj /src/src/Services/Ordering/Ordering.Domain/
|
||||
COPY src/Services/Ordering/Ordering.FunctionalTests/*.csproj /src/src/Services/Ordering/Ordering.FunctionalTests/
|
||||
COPY src/Services/Ordering/Ordering.Infrastructure/*.csproj /src/src/Services/Ordering/Ordering.Infrastructure/
|
||||
COPY src/Services/Ordering/Ordering.SignalrHub/*.csproj /src/src/Services/Ordering/Ordering.SignalrHub/
|
||||
COPY src/Services/Ordering/Ordering.UnitTests/*.csproj /src/src/Services/Ordering/Ordering.UnitTests/
|
||||
COPY src/Services/Payment/Payment.API/*.csproj /src/src/Services/Payment/Payment.API/
|
||||
COPY src/Services/Webhooks/Webhooks.API/*.csproj /src/src/Services/Webhooks/Webhooks.API/
|
||||
COPY src/Web/WebhookClient/*.csproj /src/src/Web/WebhookClient/
|
||||
COPY src/Web/WebMVC/*.csproj /src/src/Web/WebMVC/
|
||||
COPY src/Web/WebSPA/*.csproj /src/src/Web/WebSPA/
|
||||
COPY src/Web/WebStatus/*.csproj /src/src/Web/WebStatus/
|
@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="96da8a5c-5309-4e3a-a6ed-89303561a450" name="@cc795b0cf03c 2018-12-05 11:23:58" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-12-05T11:23:58.8840432+00:00" queuing="2018-12-05T11:23:58.8840443+00:00" start="2018-12-05T11:23:45.4010507+00:00" finish="2018-12-05T11:23:58.9725825+00:00" />
|
||||
<TestSettings name="default" id="0df98659-1d05-46e8-a58f-e605f0367f36">
|
||||
<Deployment runDeploymentRoot="_cc795b0cf03c_2018-12-05_11_23_58" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="561851a9-f9d7-46a8-a72f-b15d9f881e98" testId="65eb92e5-3f81-c557-7b6a-e31bbb392a30" testName="UnitTest.Basket.Application.CartControllerTest.Add_to_cart_success" computerName="cc795b0cf03c" duration="00:00:00.0520000" startTime="2018-12-05T11:23:58.3708078+00:00" endTime="2018-12-05T11:23:58.3708084+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="561851a9-f9d7-46a8-a72f-b15d9f881e98" />
|
||||
<UnitTestResult executionId="503e5b72-ad5e-47e3-ba7a-e6bdf65fb3c6" testId="f13c87f6-4345-41c1-0ceb-530a37f8c45c" testName="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Without_Basket_Should_Return_Bad_Request" computerName="cc795b0cf03c" duration="00:00:00.0030000" startTime="2018-12-05T11:23:58.2981843+00:00" endTime="2018-12-05T11:23:58.2981850+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="503e5b72-ad5e-47e3-ba7a-e6bdf65fb3c6" />
|
||||
<UnitTestResult executionId="c94bfac7-b0f7-4c85-88f5-9b6ea39aefc7" testId="1be065ec-8cda-95e2-fd64-2bec276720d6" testName="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Wit_Basket_Should_Publish_UserCheckoutAccepted_Integration_Event" computerName="cc795b0cf03c" duration="00:00:00.1550000" startTime="2018-12-05T11:23:58.2980829+00:00" endTime="2018-12-05T11:23:58.2980839+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c94bfac7-b0f7-4c85-88f5-9b6ea39aefc7" />
|
||||
<UnitTestResult executionId="0786dbc3-3a84-4d94-ba06-10ef5b44fede" testId="cfb3e0df-fbb0-f11f-f586-af6d36973673" testName="UnitTest.Basket.Application.CartControllerTest.Post_cart_success" computerName="cc795b0cf03c" duration="00:00:00.0970000" startTime="2018-12-05T11:23:58.4478198+00:00" endTime="2018-12-05T11:23:58.4478226+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="0786dbc3-3a84-4d94-ba06-10ef5b44fede" />
|
||||
<UnitTestResult executionId="53777076-ea09-481d-acbb-b8b1d85513a9" testId="f7add3c9-26d7-687c-a46e-1e880e36f193" testName="UnitTest.Basket.Application.BasketWebApiTest.Post_customer_basket_success" computerName="cc795b0cf03c" duration="00:00:00.0630000" startTime="2018-12-05T11:23:58.3707805+00:00" endTime="2018-12-05T11:23:58.3707839+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="53777076-ea09-481d-acbb-b8b1d85513a9" />
|
||||
<UnitTestResult executionId="3b321d3b-b42d-4b4b-a1b2-510a96ada515" testId="33fde07d-fd90-8a31-ce7f-73d594f79232" testName="UnitTest.Basket.Application.CartControllerTest.Post_cart_checkout_success" computerName="cc795b0cf03c" duration="00:00:01.4900000" startTime="2018-12-05T11:23:58.2970206+00:00" endTime="2018-12-05T11:23:58.2970240+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3b321d3b-b42d-4b4b-a1b2-510a96ada515" />
|
||||
<UnitTestResult executionId="9de96a13-7c87-4519-9c24-19861f9036e3" testId="ace9ddb6-e897-b915-1e3c-4ae77eb2f0e6" testName="UnitTest.Basket.Application.BasketWebApiTest.Get_customer_basket_success" computerName="cc795b0cf03c" duration="00:00:01.2680000" startTime="2018-12-05T11:23:58.0931351+00:00" endTime="2018-12-05T11:23:58.0931394+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9de96a13-7c87-4519-9c24-19861f9036e3" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="UnitTest.Basket.Application.CartControllerTest.Post_cart_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="cfb3e0df-fbb0-f11f-f586-af6d36973673">
|
||||
<Execution id="0786dbc3-3a84-4d94-ba06-10ef5b44fede" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.CartControllerTest.Post_cart_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.CartControllerTest.Add_to_cart_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="65eb92e5-3f81-c557-7b6a-e31bbb392a30">
|
||||
<Execution id="561851a9-f9d7-46a8-a72f-b15d9f881e98" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.CartControllerTest.Add_to_cart_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Get_customer_basket_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="ace9ddb6-e897-b915-1e3c-4ae77eb2f0e6">
|
||||
<Execution id="9de96a13-7c87-4519-9c24-19861f9036e3" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Get_customer_basket_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Without_Basket_Should_Return_Bad_Request" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="f13c87f6-4345-41c1-0ceb-530a37f8c45c">
|
||||
<Execution id="503e5b72-ad5e-47e3-ba7a-e6bdf65fb3c6" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Without_Basket_Should_Return_Bad_Request" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Wit_Basket_Should_Publish_UserCheckoutAccepted_Integration_Event" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="1be065ec-8cda-95e2-fd64-2bec276720d6">
|
||||
<Execution id="c94bfac7-b0f7-4c85-88f5-9b6ea39aefc7" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Wit_Basket_Should_Publish_UserCheckoutAccepted_Integration_Event" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Post_customer_basket_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="f7add3c9-26d7-687c-a46e-1e880e36f193">
|
||||
<Execution id="53777076-ea09-481d-acbb-b8b1d85513a9" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Post_customer_basket_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.CartControllerTest.Post_cart_checkout_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="33fde07d-fd90-8a31-ce7f-73d594f79232">
|
||||
<Execution id="3b321d3b-b42d-4b4b-a1b2-510a96ada515" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.CartControllerTest.Post_cart_checkout_success" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="65eb92e5-3f81-c557-7b6a-e31bbb392a30" executionId="561851a9-f9d7-46a8-a72f-b15d9f881e98" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="f13c87f6-4345-41c1-0ceb-530a37f8c45c" executionId="503e5b72-ad5e-47e3-ba7a-e6bdf65fb3c6" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="1be065ec-8cda-95e2-fd64-2bec276720d6" executionId="c94bfac7-b0f7-4c85-88f5-9b6ea39aefc7" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="cfb3e0df-fbb0-f11f-f586-af6d36973673" executionId="0786dbc3-3a84-4d94-ba06-10ef5b44fede" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="f7add3c9-26d7-687c-a46e-1e880e36f193" executionId="53777076-ea09-481d-acbb-b8b1d85513a9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="33fde07d-fd90-8a31-ce7f-73d594f79232" executionId="3b321d3b-b42d-4b4b-a1b2-510a96ada515" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ace9ddb6-e897-b915-1e3c-4ae77eb2f0e6" executionId="9de96a13-7c87-4519-9c24-19861f9036e3" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="7" executed="7" passed="7" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:06.1434181] Discovering: Basket.UnitTests[xUnit.net 00:00:06.4201662] Discovered: Basket.UnitTests[xUnit.net 00:00:06.4258049] Starting: Basket.UnitTests[xUnit.net 00:00:09.1721258] Finished: Basket.UnitTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="39a96562-8a46-4aea-b99e-1d90d37045ec" name="@1785163cba64 2018-12-05 11:23:50" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-12-05T11:23:50.8479571+00:00" queuing="2018-12-05T11:23:50.8479579+00:00" start="2018-12-05T11:23:36.2713555+00:00" finish="2018-12-05T11:23:51.5732318+00:00" />
|
||||
<TestSettings name="default" id="65e5de94-5658-477a-b4c1-cce07b716d69">
|
||||
<Deployment runDeploymentRoot="_1785163cba64_2018-12-05_11_23_50" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="f5375449-ee76-4ccd-ab5d-01788538583a" testId="1be065ec-8cda-95e2-fd64-2bec276720d6" testName="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Wit_Basket_Should_Publish_UserCheckoutAccepted_Integration_Event" computerName="1785163cba64" duration="00:00:00.1400000" startTime="2018-12-05T11:23:50.4881664+00:00" endTime="2018-12-05T11:23:50.4881673+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="f5375449-ee76-4ccd-ab5d-01788538583a" />
|
||||
<UnitTestResult executionId="c3451c4c-90b7-465d-b638-8c5e57a8680e" testId="f13c87f6-4345-41c1-0ceb-530a37f8c45c" testName="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Without_Basket_Should_Return_Bad_Request" computerName="1785163cba64" duration="00:00:00.0020000" startTime="2018-12-05T11:23:50.4882146+00:00" endTime="2018-12-05T11:23:50.4882152+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c3451c4c-90b7-465d-b638-8c5e57a8680e" />
|
||||
<UnitTestResult executionId="37eceb9f-3500-4c62-8033-85f7322b60c1" testId="33fde07d-fd90-8a31-ce7f-73d594f79232" testName="UnitTest.Basket.Application.CartControllerTest.Post_cart_checkout_success" computerName="1785163cba64" duration="00:00:01.6230000" startTime="2018-12-05T11:23:50.4875247+00:00" endTime="2018-12-05T11:23:50.4875264+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="37eceb9f-3500-4c62-8033-85f7322b60c1" />
|
||||
<UnitTestResult executionId="61af83cc-1623-40ee-8546-6cd0d6ece3cd" testId="65eb92e5-3f81-c557-7b6a-e31bbb392a30" testName="UnitTest.Basket.Application.CartControllerTest.Add_to_cart_success" computerName="1785163cba64" duration="00:00:00.0950000" startTime="2018-12-05T11:23:50.5151450+00:00" endTime="2018-12-05T11:23:50.5151485+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="61af83cc-1623-40ee-8546-6cd0d6ece3cd" />
|
||||
<UnitTestResult executionId="3b941fb3-30a2-4d14-98f8-30c04df4c032" testId="cfb3e0df-fbb0-f11f-f586-af6d36973673" testName="UnitTest.Basket.Application.CartControllerTest.Post_cart_success" computerName="1785163cba64" duration="00:00:00.4220000" startTime="2018-12-05T11:23:50.9378230+00:00" endTime="2018-12-05T11:23:50.9378277+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3b941fb3-30a2-4d14-98f8-30c04df4c032" />
|
||||
<UnitTestResult executionId="0149f0b7-82e4-4793-909c-7a7083f75e98" testId="f7add3c9-26d7-687c-a46e-1e880e36f193" testName="UnitTest.Basket.Application.BasketWebApiTest.Post_customer_basket_success" computerName="1785163cba64" duration="00:00:00.1400000" startTime="2018-12-05T11:23:50.7725055+00:00" endTime="2018-12-05T11:23:50.7725076+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="0149f0b7-82e4-4793-909c-7a7083f75e98" />
|
||||
<UnitTestResult executionId="9e2c8945-5e2e-4082-a8fc-2ed57b21df87" testId="ace9ddb6-e897-b915-1e3c-4ae77eb2f0e6" testName="UnitTest.Basket.Application.BasketWebApiTest.Get_customer_basket_success" computerName="1785163cba64" duration="00:00:01.3570000" startTime="2018-12-05T11:23:50.3117877+00:00" endTime="2018-12-05T11:23:50.3117921+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9e2c8945-5e2e-4082-a8fc-2ed57b21df87" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="UnitTest.Basket.Application.CartControllerTest.Post_cart_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="cfb3e0df-fbb0-f11f-f586-af6d36973673">
|
||||
<Execution id="3b941fb3-30a2-4d14-98f8-30c04df4c032" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.CartControllerTest.Post_cart_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.CartControllerTest.Add_to_cart_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="65eb92e5-3f81-c557-7b6a-e31bbb392a30">
|
||||
<Execution id="61af83cc-1623-40ee-8546-6cd0d6ece3cd" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.CartControllerTest.Add_to_cart_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Get_customer_basket_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="ace9ddb6-e897-b915-1e3c-4ae77eb2f0e6">
|
||||
<Execution id="9e2c8945-5e2e-4082-a8fc-2ed57b21df87" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Get_customer_basket_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Without_Basket_Should_Return_Bad_Request" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="f13c87f6-4345-41c1-0ceb-530a37f8c45c">
|
||||
<Execution id="c3451c4c-90b7-465d-b638-8c5e57a8680e" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Without_Basket_Should_Return_Bad_Request" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Wit_Basket_Should_Publish_UserCheckoutAccepted_Integration_Event" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="1be065ec-8cda-95e2-fd64-2bec276720d6">
|
||||
<Execution id="f5375449-ee76-4ccd-ab5d-01788538583a" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Doing_Checkout_Wit_Basket_Should_Publish_UserCheckoutAccepted_Integration_Event" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.BasketWebApiTest.Post_customer_basket_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="f7add3c9-26d7-687c-a46e-1e880e36f193">
|
||||
<Execution id="0149f0b7-82e4-4793-909c-7a7083f75e98" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.BasketWebApiTest.Post_customer_basket_success" />
|
||||
</UnitTest>
|
||||
<UnitTest name="UnitTest.Basket.Application.CartControllerTest.Post_cart_checkout_success" storage="/src/src/services/basket/basket.unittests/bin/debug/netcoreapp2.1/basket.unittests.dll" id="33fde07d-fd90-8a31-ce7f-73d594f79232">
|
||||
<Execution id="37eceb9f-3500-4c62-8033-85f7322b60c1" />
|
||||
<TestMethod codeBase="/src/src/Services/Basket/Basket.UnitTests/bin/Debug/netcoreapp2.1/Basket.UnitTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Basket.UnitTests" name="UnitTest.Basket.Application.CartControllerTest.Post_cart_checkout_success" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="1be065ec-8cda-95e2-fd64-2bec276720d6" executionId="f5375449-ee76-4ccd-ab5d-01788538583a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="f13c87f6-4345-41c1-0ceb-530a37f8c45c" executionId="c3451c4c-90b7-465d-b638-8c5e57a8680e" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="33fde07d-fd90-8a31-ce7f-73d594f79232" executionId="37eceb9f-3500-4c62-8033-85f7322b60c1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="65eb92e5-3f81-c557-7b6a-e31bbb392a30" executionId="61af83cc-1623-40ee-8546-6cd0d6ece3cd" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="cfb3e0df-fbb0-f11f-f586-af6d36973673" executionId="3b941fb3-30a2-4d14-98f8-30c04df4c032" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="f7add3c9-26d7-687c-a46e-1e880e36f193" executionId="0149f0b7-82e4-4793-909c-7a7083f75e98" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ace9ddb6-e897-b915-1e3c-4ae77eb2f0e6" executionId="9e2c8945-5e2e-4082-a8fc-2ed57b21df87" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="7" executed="7" passed="7" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:06.7811016] Discovering: Basket.UnitTests[xUnit.net 00:00:07.1809374] Discovered: Basket.UnitTests[xUnit.net 00:00:07.1870723] Starting: Basket.UnitTests[xUnit.net 00:00:10.4183620] Finished: Basket.UnitTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
@ -1,89 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="e380625d-16e5-49cd-944f-9ec6dea3a534" name="@3773afd31eec 2018-12-05 11:24:03" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-12-05T11:24:03.2781261+00:00" queuing="2018-12-05T11:24:03.2781270+00:00" start="2018-12-05T11:23:32.0461930+00:00" finish="2018-12-05T11:24:11.2871593+00:00" />
|
||||
<TestSettings name="default" id="f4f579f9-05a0-4097-a3f3-f9dfa1c5fc22">
|
||||
<Deployment runDeploymentRoot="_3773afd31eec_2018-12-05_11_24_03" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="7627e97a-ef37-4a9b-b3bf-831d462fd492" testId="5eb4d579-2cb5-5f78-2e18-16e03c3f7383" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_filtered_catalog_items_and_response_ok_status_code" computerName="3773afd31eec" duration="00:00:00.8630000" startTime="2018-12-05T11:24:07.1639284+00:00" endTime="2018-12-05T11:24:07.1639318+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7627e97a-ef37-4a9b-b3bf-831d462fd492" />
|
||||
<UnitTestResult executionId="0fee9d77-1650-4141-8ee6-d928accb140f" testId="2098f087-bc1f-3220-4cc1-67f39aa69a42" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_bad_request_status_code" computerName="3773afd31eec" duration="00:00:00.6480000" startTime="2018-12-05T11:24:08.3220470+00:00" endTime="2018-12-05T11:24:08.3220496+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="0fee9d77-1650-4141-8ee6-d928accb140f" />
|
||||
<UnitTestResult executionId="3de0a499-cded-43da-a582-2c4cf5e16ca9" testId="95c21500-9ed5-4391-9d7f-aebfd9190a11" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_filtered_catalog_items_and_response_ok_status_code" computerName="3773afd31eec" duration="00:00:00.8980000" startTime="2018-12-05T11:24:06.2955434+00:00" endTime="2018-12-05T11:24:06.2955469+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3de0a499-cded-43da-a582-2c4cf5e16ca9" />
|
||||
<UnitTestResult executionId="267805fc-cddd-41f9-a16b-7188226aae18" testId="54a38b91-4242-ca21-909c-b632c74bc378" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_name_and_response_ok_status_code" computerName="3773afd31eec" duration="00:00:00.8000000" startTime="2018-12-05T11:24:10.3388056+00:00" endTime="2018-12-05T11:24:10.3388081+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="267805fc-cddd-41f9-a16b-7188226aae18" />
|
||||
<UnitTestResult executionId="a65654f5-92c9-4819-96d1-8d20e6448c22" testId="8b3ccbdd-cacd-e530-8e30-2c496c5b54d7" testName="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_brands_response_ok_status_code" computerName="3773afd31eec" duration="00:00:00.4300000" startTime="2018-12-05T11:24:10.7713399+00:00" endTime="2018-12-05T11:24:10.7713434+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a65654f5-92c9-4819-96d1-8d20e6448c22" />
|
||||
<UnitTestResult executionId="7ba54f92-cc72-4be8-85d1-8b04a12b7c57" testId="0606c0fc-b6b0-1185-6890-3ad909738a66" testName="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_types_response_ok_status_code" computerName="3773afd31eec" duration="00:00:00.5540000" startTime="2018-12-05T11:24:09.5410174+00:00" endTime="2018-12-05T11:24:09.5410203+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7ba54f92-cc72-4be8-85d1-8b04a12b7c57" />
|
||||
<UnitTestResult executionId="127defdc-eead-4b18-98e8-bb4a80f6d9a5" testId="78871366-7f13-cf9e-a618-4298c2fb3e63" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_ok_status_code" computerName="3773afd31eec" duration="00:00:19.2330000" startTime="2018-12-05T11:24:03.0044366+00:00" endTime="2018-12-05T11:24:03.0044408+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="127defdc-eead-4b18-98e8-bb4a80f6d9a5" />
|
||||
<UnitTestResult executionId="1ed13bda-347c-40c8-b22d-bf148423331a" testId="5ddae08d-62ee-6680-a77c-640b5af2e809" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalog_items_and_response_ok_status_code" computerName="3773afd31eec" duration="00:00:00.6640000" startTime="2018-12-05T11:24:08.9852118+00:00" endTime="2018-12-05T11:24:08.9852149+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="1ed13bda-347c-40c8-b22d-bf148423331a" />
|
||||
<UnitTestResult executionId="44e01d30-5f3a-42de-8671-1b0e542043de" testId="73afd2bb-85ac-239d-a889-a35ecbb96b02" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_not_found_status_code" computerName="3773afd31eec" duration="00:00:00.7330000" startTime="2018-12-05T11:24:05.4140150+00:00" endTime="2018-12-05T11:24:05.4140190+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="44e01d30-5f3a-42de-8671-1b0e542043de" />
|
||||
<UnitTestResult executionId="c24ac03b-44a6-44eb-8e62-e77254199297" testId="1b373321-94b2-88eb-53a2-36d186286a1f" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_all_catalogitems_and_response_ok_status_code" computerName="3773afd31eec" duration="00:00:00.5140000" startTime="2018-12-05T11:24:07.6804365+00:00" endTime="2018-12-05T11:24:07.6804402+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="c24ac03b-44a6-44eb-8e62-e77254199297" />
|
||||
<UnitTestResult executionId="188a98f4-e551-46b5-8954-81ec68261133" testId="c61af54f-3a98-9867-2720-4af9bf810653" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalogitem_by_name_and_response_ok_status_code" computerName="3773afd31eec" duration="00:00:01.5720000" startTime="2018-12-05T11:24:04.6656166+00:00" endTime="2018-12-05T11:24:04.6656202+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="188a98f4-e551-46b5-8954-81ec68261133" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_bad_request_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="2098f087-bc1f-3220-4cc1-67f39aa69a42">
|
||||
<Execution id="0fee9d77-1650-4141-8ee6-d928accb140f" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_bad_request_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_all_catalogitems_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="1b373321-94b2-88eb-53a2-36d186286a1f">
|
||||
<Execution id="c24ac03b-44a6-44eb-8e62-e77254199297" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_all_catalogitems_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="78871366-7f13-cf9e-a618-4298c2fb3e63">
|
||||
<Execution id="127defdc-eead-4b18-98e8-bb4a80f6d9a5" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_name_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="54a38b91-4242-ca21-909c-b632c74bc378">
|
||||
<Execution id="267805fc-cddd-41f9-a16b-7188226aae18" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_name_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalog_items_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="5ddae08d-62ee-6680-a77c-640b5af2e809">
|
||||
<Execution id="1ed13bda-347c-40c8-b22d-bf148423331a" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalog_items_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_brands_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="8b3ccbdd-cacd-e530-8e30-2c496c5b54d7">
|
||||
<Execution id="a65654f5-92c9-4819-96d1-8d20e6448c22" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_brands_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_not_found_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="73afd2bb-85ac-239d-a889-a35ecbb96b02">
|
||||
<Execution id="44e01d30-5f3a-42de-8671-1b0e542043de" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_not_found_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_filtered_catalog_items_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="95c21500-9ed5-4391-9d7f-aebfd9190a11">
|
||||
<Execution id="3de0a499-cded-43da-a582-2c4cf5e16ca9" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_filtered_catalog_items_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_types_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="0606c0fc-b6b0-1185-6890-3ad909738a66">
|
||||
<Execution id="7ba54f92-cc72-4be8-85d1-8b04a12b7c57" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_types_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_filtered_catalog_items_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="5eb4d579-2cb5-5f78-2e18-16e03c3f7383">
|
||||
<Execution id="7627e97a-ef37-4a9b-b3bf-831d462fd492" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_filtered_catalog_items_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalogitem_by_name_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="c61af54f-3a98-9867-2720-4af9bf810653">
|
||||
<Execution id="188a98f4-e551-46b5-8954-81ec68261133" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalogitem_by_name_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="5eb4d579-2cb5-5f78-2e18-16e03c3f7383" executionId="7627e97a-ef37-4a9b-b3bf-831d462fd492" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2098f087-bc1f-3220-4cc1-67f39aa69a42" executionId="0fee9d77-1650-4141-8ee6-d928accb140f" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="95c21500-9ed5-4391-9d7f-aebfd9190a11" executionId="3de0a499-cded-43da-a582-2c4cf5e16ca9" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="54a38b91-4242-ca21-909c-b632c74bc378" executionId="267805fc-cddd-41f9-a16b-7188226aae18" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="8b3ccbdd-cacd-e530-8e30-2c496c5b54d7" executionId="a65654f5-92c9-4819-96d1-8d20e6448c22" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="0606c0fc-b6b0-1185-6890-3ad909738a66" executionId="7ba54f92-cc72-4be8-85d1-8b04a12b7c57" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="78871366-7f13-cf9e-a618-4298c2fb3e63" executionId="127defdc-eead-4b18-98e8-bb4a80f6d9a5" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="5ddae08d-62ee-6680-a77c-640b5af2e809" executionId="1ed13bda-347c-40c8-b22d-bf148423331a" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="73afd2bb-85ac-239d-a889-a35ecbb96b02" executionId="44e01d30-5f3a-42de-8671-1b0e542043de" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="1b373321-94b2-88eb-53a2-36d186286a1f" executionId="c24ac03b-44a6-44eb-8e62-e77254199297" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="c61af54f-3a98-9867-2720-4af9bf810653" executionId="188a98f4-e551-46b5-8954-81ec68261133" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="11" executed="11" passed="11" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:06.0723374] Discovering: Catalog.FunctionalTests[xUnit.net 00:00:06.4361995] Discovered: Catalog.FunctionalTests[xUnit.net 00:00:06.4447894] Starting: Catalog.FunctionalTests[xUnit.net 00:00:34.5834045] Finished: Catalog.FunctionalTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
@ -1,89 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="aca6211e-f6da-4bba-bf41-a276c78d1443" name="@3a7e7ef6aa8e 2018-12-05 11:24:02" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-12-05T11:24:02.5864478+00:00" queuing="2018-12-05T11:24:02.5864485+00:00" start="2018-12-05T11:23:32.1458050+00:00" finish="2018-12-05T11:24:11.1044674+00:00" />
|
||||
<TestSettings name="default" id="6b291d29-0315-494b-9db2-50bee5d38134">
|
||||
<Deployment runDeploymentRoot="_3a7e7ef6aa8e_2018-12-05_11_24_02" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="ed3644e1-b21b-46aa-a9d4-bddc3fd92c0d" testId="5eb4d579-2cb5-5f78-2e18-16e03c3f7383" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_filtered_catalog_items_and_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.6620000" startTime="2018-12-05T11:24:06.3308316+00:00" endTime="2018-12-05T11:24:06.3308351+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="ed3644e1-b21b-46aa-a9d4-bddc3fd92c0d" />
|
||||
<UnitTestResult executionId="eb67cab7-a711-48d1-9697-eff25b27e037" testId="c61af54f-3a98-9867-2720-4af9bf810653" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalogitem_by_name_and_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:01.5160000" startTime="2018-12-05T11:24:03.8893359+00:00" endTime="2018-12-05T11:24:03.8893387+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="eb67cab7-a711-48d1-9697-eff25b27e037" />
|
||||
<UnitTestResult executionId="d2b2bc96-e96b-44fe-b852-16a137d3f630" testId="5ddae08d-62ee-6680-a77c-640b5af2e809" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalog_items_and_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.6630000" startTime="2018-12-05T11:24:08.3377755+00:00" endTime="2018-12-05T11:24:08.3377790+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d2b2bc96-e96b-44fe-b852-16a137d3f630" />
|
||||
<UnitTestResult executionId="4ac1e35c-b3b9-4882-b67b-ef08b65bc29b" testId="95c21500-9ed5-4391-9d7f-aebfd9190a11" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_filtered_catalog_items_and_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:01.0900000" startTime="2018-12-05T11:24:05.6700321+00:00" endTime="2018-12-05T11:24:05.6700348+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4ac1e35c-b3b9-4882-b67b-ef08b65bc29b" />
|
||||
<UnitTestResult executionId="7d7a7d65-6854-4466-a37d-15347956f783" testId="2098f087-bc1f-3220-4cc1-67f39aa69a42" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_bad_request_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.3800000" startTime="2018-12-05T11:24:07.6681963+00:00" endTime="2018-12-05T11:24:07.6681996+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="7d7a7d65-6854-4466-a37d-15347956f783" />
|
||||
<UnitTestResult executionId="fa563e70-2fc9-44b8-b818-85c371e50bc2" testId="54a38b91-4242-ca21-909c-b632c74bc378" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_name_and_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.7230000" startTime="2018-12-05T11:24:09.8641893+00:00" endTime="2018-12-05T11:24:09.8641921+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="fa563e70-2fc9-44b8-b818-85c371e50bc2" />
|
||||
<UnitTestResult executionId="b06b8d43-2696-4904-bc38-3feb3363ff3d" testId="0606c0fc-b6b0-1185-6890-3ad909738a66" testName="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_types_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.8070000" startTime="2018-12-05T11:24:09.1399724+00:00" endTime="2018-12-05T11:24:09.1399751+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="b06b8d43-2696-4904-bc38-3feb3363ff3d" />
|
||||
<UnitTestResult executionId="93160bfd-9e96-4e09-bd7f-5487be6d0b35" testId="1b373321-94b2-88eb-53a2-36d186286a1f" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_all_catalogitems_and_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.9560000" startTime="2018-12-05T11:24:07.2880184+00:00" endTime="2018-12-05T11:24:07.2880216+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="93160bfd-9e96-4e09-bd7f-5487be6d0b35" />
|
||||
<UnitTestResult executionId="5ecb8d84-de7b-483c-b965-eb7d887e41b1" testId="73afd2bb-85ac-239d-a889-a35ecbb96b02" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_not_found_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.6590000" startTime="2018-12-05T11:24:04.5775407+00:00" endTime="2018-12-05T11:24:04.5775450+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="5ecb8d84-de7b-483c-b965-eb7d887e41b1" />
|
||||
<UnitTestResult executionId="a8110557-5a9f-448a-aae5-55a27cbda816" testId="78871366-7f13-cf9e-a618-4298c2fb3e63" testName="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:18.3120000" startTime="2018-12-05T11:24:02.3211973+00:00" endTime="2018-12-05T11:24:02.3212009+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a8110557-5a9f-448a-aae5-55a27cbda816" />
|
||||
<UnitTestResult executionId="d33a437b-4f8a-48f3-94a1-e8faae50e3dc" testId="8b3ccbdd-cacd-e530-8e30-2c496c5b54d7" testName="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_brands_response_ok_status_code" computerName="3a7e7ef6aa8e" duration="00:00:00.7120000" startTime="2018-12-05T11:24:10.5742881+00:00" endTime="2018-12-05T11:24:10.5742915+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d33a437b-4f8a-48f3-94a1-e8faae50e3dc" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_bad_request_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="2098f087-bc1f-3220-4cc1-67f39aa69a42">
|
||||
<Execution id="7d7a7d65-6854-4466-a37d-15347956f783" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_bad_request_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_all_catalogitems_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="1b373321-94b2-88eb-53a2-36d186286a1f">
|
||||
<Execution id="93160bfd-9e96-4e09-bd7f-5487be6d0b35" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_all_catalogitems_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="78871366-7f13-cf9e-a618-4298c2fb3e63">
|
||||
<Execution id="a8110557-5a9f-448a-aae5-55a27cbda816" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_name_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="54a38b91-4242-ca21-909c-b632c74bc378">
|
||||
<Execution id="fa563e70-2fc9-44b8-b818-85c371e50bc2" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_name_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalog_items_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="5ddae08d-62ee-6680-a77c-640b5af2e809">
|
||||
<Execution id="d2b2bc96-e96b-44fe-b852-16a137d3f630" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalog_items_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_brands_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="8b3ccbdd-cacd-e530-8e30-2c496c5b54d7">
|
||||
<Execution id="d33a437b-4f8a-48f3-94a1-e8faae50e3dc" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_brands_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_not_found_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="73afd2bb-85ac-239d-a889-a35ecbb96b02">
|
||||
<Execution id="5ecb8d84-de7b-483c-b965-eb7d887e41b1" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_catalogitem_by_id_and_response_not_found_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_filtered_catalog_items_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="95c21500-9ed5-4391-9d7f-aebfd9190a11">
|
||||
<Execution id="4ac1e35c-b3b9-4882-b67b-ef08b65bc29b" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_filtered_catalog_items_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_types_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="0606c0fc-b6b0-1185-6890-3ad909738a66">
|
||||
<Execution id="b06b8d43-2696-4904-bc38-3feb3363ff3d" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_catalog_types_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_filtered_catalog_items_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="5eb4d579-2cb5-5f78-2e18-16e03c3f7383">
|
||||
<Execution id="ed3644e1-b21b-46aa-a9d4-bddc3fd92c0d" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_filtered_catalog_items_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalogitem_by_name_and_response_ok_status_code" storage="/src/src/services/catalog/catalog.functionaltests/bin/debug/netcoreapp2.1/catalog.functionaltests.dll" id="c61af54f-3a98-9867-2720-4af9bf810653">
|
||||
<Execution id="eb67cab7-a711-48d1-9697-eff25b27e037" />
|
||||
<TestMethod codeBase="/src/src/Services/Catalog/Catalog.FunctionalTests/bin/Debug/netcoreapp2.1/Catalog.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Catalog.FunctionalTests" name="Catalog.FunctionalTests.CatalogScenarios.Get_get_paginated_catalogitem_by_name_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="5eb4d579-2cb5-5f78-2e18-16e03c3f7383" executionId="ed3644e1-b21b-46aa-a9d4-bddc3fd92c0d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="c61af54f-3a98-9867-2720-4af9bf810653" executionId="eb67cab7-a711-48d1-9697-eff25b27e037" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="5ddae08d-62ee-6680-a77c-640b5af2e809" executionId="d2b2bc96-e96b-44fe-b852-16a137d3f630" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="95c21500-9ed5-4391-9d7f-aebfd9190a11" executionId="4ac1e35c-b3b9-4882-b67b-ef08b65bc29b" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="2098f087-bc1f-3220-4cc1-67f39aa69a42" executionId="7d7a7d65-6854-4466-a37d-15347956f783" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="54a38b91-4242-ca21-909c-b632c74bc378" executionId="fa563e70-2fc9-44b8-b818-85c371e50bc2" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="0606c0fc-b6b0-1185-6890-3ad909738a66" executionId="b06b8d43-2696-4904-bc38-3feb3363ff3d" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="1b373321-94b2-88eb-53a2-36d186286a1f" executionId="93160bfd-9e96-4e09-bd7f-5487be6d0b35" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="73afd2bb-85ac-239d-a889-a35ecbb96b02" executionId="5ecb8d84-de7b-483c-b965-eb7d887e41b1" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="78871366-7f13-cf9e-a618-4298c2fb3e63" executionId="a8110557-5a9f-448a-aae5-55a27cbda816" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="8b3ccbdd-cacd-e530-8e30-2c496c5b54d7" executionId="d33a437b-4f8a-48f3-94a1-e8faae50e3dc" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="11" executed="11" passed="11" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:06.6354381] Discovering: Catalog.FunctionalTests[xUnit.net 00:00:07.0010904] Discovered: Catalog.FunctionalTests[xUnit.net 00:00:07.0749761] Starting: Catalog.FunctionalTests[xUnit.net 00:00:34.9063753] Finished: Catalog.FunctionalTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
@ -1,47 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="3a97bc8e-e891-4670-ac89-22922c2d9e4e" name="@02643924d223 2018-12-05 11:23:54" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-12-05T11:23:54.0687389+00:00" queuing="2018-12-05T11:23:54.0687396+00:00" start="2018-12-05T11:23:22.5634952+00:00" finish="2018-12-05T11:23:56.0218928+00:00" />
|
||||
<TestSettings name="default" id="ba79b184-d368-4cf9-975b-e7ea85cae4ba">
|
||||
<Deployment runDeploymentRoot="_02643924d223_2018-12-05_11_23_54" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="84e4488c-e6c0-4fd4-b5e6-396e7865516e" testId="0a4f15a8-74cd-fd17-7e39-b261ab50b0e3" testName="Locations.FunctionalTests.LocationsScenarios.Get_all_locations_response_ok_status_code" computerName="02643924d223" duration="00:00:00.3200000" startTime="2018-12-05T11:23:55.5197180+00:00" endTime="2018-12-05T11:23:55.5197222+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="84e4488c-e6c0-4fd4-b5e6-396e7865516e" />
|
||||
<UnitTestResult executionId="e37faea8-a757-4a58-b244-c4005b4501db" testId="9f640d81-acae-dd4a-697b-85843aab785c" testName="Locations.FunctionalTests.LocationsScenarios.Set_new_user_Washington_location_response_ok_status_code" computerName="02643924d223" duration="00:00:16.5720000" startTime="2018-12-05T11:23:53.8003308+00:00" endTime="2018-12-05T11:23:53.8003348+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e37faea8-a757-4a58-b244-c4005b4501db" />
|
||||
<UnitTestResult executionId="3823a765-a270-4120-9cd3-11144abd2828" testId="adcf9752-4680-18b6-26e1-869d93a37efb" testName="Locations.FunctionalTests.LocationsScenarios.Set_new_user_readmond_location_response_ok_status_code" computerName="02643924d223" duration="00:00:00.8560000" startTime="2018-12-05T11:23:54.6895078+00:00" endTime="2018-12-05T11:23:54.6895118+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3823a765-a270-4120-9cd3-11144abd2828" />
|
||||
<UnitTestResult executionId="a92e857d-8ad2-4a34-85d2-fcf2492c8597" testId="78effe18-892e-ff71-3706-701d8f4770b2" testName="Locations.FunctionalTests.LocationsScenarios.Set_new_user_seattle_location_response_ok_status_code" computerName="02643924d223" duration="00:00:00.5060000" startTime="2018-12-05T11:23:55.1956204+00:00" endTime="2018-12-05T11:23:55.1956236+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a92e857d-8ad2-4a34-85d2-fcf2492c8597" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="Locations.FunctionalTests.LocationsScenarios.Set_new_user_Washington_location_response_ok_status_code" storage="/src/src/services/location/locations.functionaltests/bin/debug/netcoreapp2.1/locations.functionaltests.dll" id="9f640d81-acae-dd4a-697b-85843aab785c">
|
||||
<Execution id="e37faea8-a757-4a58-b244-c4005b4501db" />
|
||||
<TestMethod codeBase="/src/src/Services/Location/Locations.FunctionalTests/bin/Debug/netcoreapp2.1/Locations.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Locations.FunctionalTests" name="Locations.FunctionalTests.LocationsScenarios.Set_new_user_Washington_location_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Locations.FunctionalTests.LocationsScenarios.Set_new_user_seattle_location_response_ok_status_code" storage="/src/src/services/location/locations.functionaltests/bin/debug/netcoreapp2.1/locations.functionaltests.dll" id="78effe18-892e-ff71-3706-701d8f4770b2">
|
||||
<Execution id="a92e857d-8ad2-4a34-85d2-fcf2492c8597" />
|
||||
<TestMethod codeBase="/src/src/Services/Location/Locations.FunctionalTests/bin/Debug/netcoreapp2.1/Locations.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Locations.FunctionalTests" name="Locations.FunctionalTests.LocationsScenarios.Set_new_user_seattle_location_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Locations.FunctionalTests.LocationsScenarios.Set_new_user_readmond_location_response_ok_status_code" storage="/src/src/services/location/locations.functionaltests/bin/debug/netcoreapp2.1/locations.functionaltests.dll" id="adcf9752-4680-18b6-26e1-869d93a37efb">
|
||||
<Execution id="3823a765-a270-4120-9cd3-11144abd2828" />
|
||||
<TestMethod codeBase="/src/src/Services/Location/Locations.FunctionalTests/bin/Debug/netcoreapp2.1/Locations.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Locations.FunctionalTests" name="Locations.FunctionalTests.LocationsScenarios.Set_new_user_readmond_location_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Locations.FunctionalTests.LocationsScenarios.Get_all_locations_response_ok_status_code" storage="/src/src/services/location/locations.functionaltests/bin/debug/netcoreapp2.1/locations.functionaltests.dll" id="0a4f15a8-74cd-fd17-7e39-b261ab50b0e3">
|
||||
<Execution id="84e4488c-e6c0-4fd4-b5e6-396e7865516e" />
|
||||
<TestMethod codeBase="/src/src/Services/Location/Locations.FunctionalTests/bin/Debug/netcoreapp2.1/Locations.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Locations.FunctionalTests" name="Locations.FunctionalTests.LocationsScenarios.Get_all_locations_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="0a4f15a8-74cd-fd17-7e39-b261ab50b0e3" executionId="84e4488c-e6c0-4fd4-b5e6-396e7865516e" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="9f640d81-acae-dd4a-697b-85843aab785c" executionId="e37faea8-a757-4a58-b244-c4005b4501db" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="adcf9752-4680-18b6-26e1-869d93a37efb" executionId="3823a765-a270-4120-9cd3-11144abd2828" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="78effe18-892e-ff71-3706-701d8f4770b2" executionId="a92e857d-8ad2-4a34-85d2-fcf2492c8597" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="4" executed="4" passed="4" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:07.7665792] Discovering: Locations.FunctionalTests[xUnit.net 00:00:08.1972548] Discovered: Locations.FunctionalTests[xUnit.net 00:00:08.2137816] Starting: Locations.FunctionalTests[xUnit.net 00:00:27.6429580] Finished: Locations.FunctionalTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="38518ece-89c2-4acd-a0fd-656b1e307ada" name="@e469457725ad 2018-11-29 09:07:47" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-11-29T09:07:47.0107904+00:00" queuing="2018-11-29T09:07:47.0107911+00:00" start="2018-11-29T09:07:40.0471464+00:00" finish="2018-11-29T09:07:48.5378505+00:00" />
|
||||
<TestSettings name="default" id="65290455-25be-41ac-ae76-614d242990ab">
|
||||
<Deployment runDeploymentRoot="_e469457725ad_2018-11-29_09_07_47" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="9079d887-1d03-4651-bbad-465e5ecbe247" testId="e0c885da-83ce-b300-fe65-41c3a5c5e28f" testName="Marketing.FunctionalTests.CampaignScenarios.Post_add_new_campaign_and_response_ok_status_code" computerName="e469457725ad" duration="00:00:00.2420000" startTime="2018-11-29T09:07:47.7537302+00:00" endTime="2018-11-29T09:07:47.7537324+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9079d887-1d03-4651-bbad-465e5ecbe247" />
|
||||
<UnitTestResult executionId="bac3bbc1-e916-4001-bfc1-4a2b4d578faf" testId="6d91b76f-00a6-9e69-4202-48e6be1280e9" testName="Marketing.FunctionalTests.CampaignScenarios.Delete_delete_campaign_and_response_not_content_status_code" computerName="e469457725ad" duration="00:00:00.5630000" startTime="2018-11-29T09:07:47.5120976+00:00" endTime="2018-11-29T09:07:47.5120997+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="bac3bbc1-e916-4001-bfc1-4a2b4d578faf" />
|
||||
<UnitTestResult executionId="89f0c88d-f352-4fd5-85cd-4dc346996fea" testId="348d43c5-3f68-e1a0-fd14-f5a7c75fe894" testName="Marketing.FunctionalTests.CampaignScenarios.Put_update_campaign_and_response_not_content_status_code" computerName="e469457725ad" duration="00:00:00.2430000" startTime="2018-11-29T09:07:48.3667923+00:00" endTime="2018-11-29T09:07:48.3667945+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="89f0c88d-f352-4fd5-85cd-4dc346996fea" />
|
||||
<UnitTestResult executionId="e4910f38-9f2b-4de5-a3cf-cdefde7af357" testId="b465ea84-27b5-101d-9b64-ecc018001e3e" testName="Marketing.FunctionalTests.UserLocationRoleScenarios.Post_add_new_user_location_rule_and_response_ok_status_code" computerName="e469457725ad" duration="00:00:04.2610000" startTime="2018-11-29T09:07:46.9693733+00:00" endTime="2018-11-29T09:07:46.9693747+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="e4910f38-9f2b-4de5-a3cf-cdefde7af357" />
|
||||
<UnitTestResult executionId="a4d3c593-a9cb-4f37-a5b4-3404d5496594" testId="ac8ded60-54fb-4bef-36a0-5ca98eec474b" testName="Marketing.FunctionalTests.UserLocationRoleScenarios.Delete_delete_user_location_role_and_response_not_content_status_code" computerName="e469457725ad" duration="00:00:00.3710000" startTime="2018-11-29T09:07:47.3200667+00:00" endTime="2018-11-29T09:07:47.3200687+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="a4d3c593-a9cb-4f37-a5b4-3404d5496594" />
|
||||
<UnitTestResult executionId="d66b1878-5d11-4e5e-a78b-0ab518db2f52" testId="fe5e0cf5-7915-7cc0-9822-1ea6a9002829" testName="Marketing.FunctionalTests.CampaignScenarios.Get_get_campaign_by_id_and_response_ok_status_code" computerName="e469457725ad" duration="00:00:00.1260000" startTime="2018-11-29T09:07:48.1241966+00:00" endTime="2018-11-29T09:07:48.1241985+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="d66b1878-5d11-4e5e-a78b-0ab518db2f52" />
|
||||
<UnitTestResult executionId="9eacbc3d-b815-4fd8-a2cf-c9e173057a86" testId="b65e6fb5-507d-2399-aedb-c39bbd53dd13" testName="Marketing.FunctionalTests.CampaignScenarios.Get_get_all_campaigns_and_response_ok_status_code" computerName="e469457725ad" duration="00:00:00.2440000" startTime="2018-11-29T09:07:47.9976626+00:00" endTime="2018-11-29T09:07:47.9976648+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9eacbc3d-b815-4fd8-a2cf-c9e173057a86" />
|
||||
<UnitTestResult executionId="559fc908-d6b4-45c0-b2cc-1ec5ebf98a10" testId="42f7ecfc-c654-ab9c-0945-cfba3b51b47e" testName="Marketing.FunctionalTests.UserLocationRoleScenarios.Get_get_all_user_location_rules_by_campaignId_and_response_ok_status_code" computerName="e469457725ad" duration="00:00:00.4090000" startTime="2018-11-29T09:07:47.7294469+00:00" endTime="2018-11-29T09:07:47.7294490+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="559fc908-d6b4-45c0-b2cc-1ec5ebf98a10" />
|
||||
<UnitTestResult executionId="3d7664b0-c660-41c2-bd10-6241c8bf48bb" testId="cc442a4b-50c1-22da-f021-97ab6639da3e" testName="Marketing.FunctionalTests.CampaignScenarios.Get_get_campaign_by_id_and_response_not_found_status_code" computerName="e469457725ad" duration="00:00:04.2610000" startTime="2018-11-29T09:07:46.9468875+00:00" endTime="2018-11-29T09:07:46.9468901+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="3d7664b0-c660-41c2-bd10-6241c8bf48bb" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="Marketing.FunctionalTests.UserLocationRoleScenarios.Get_get_all_user_location_rules_by_campaignId_and_response_ok_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="42f7ecfc-c654-ab9c-0945-cfba3b51b47e">
|
||||
<Execution id="559fc908-d6b4-45c0-b2cc-1ec5ebf98a10" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.UserLocationRoleScenarios.Get_get_all_user_location_rules_by_campaignId_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.CampaignScenarios.Get_get_all_campaigns_and_response_ok_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="b65e6fb5-507d-2399-aedb-c39bbd53dd13">
|
||||
<Execution id="9eacbc3d-b815-4fd8-a2cf-c9e173057a86" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.CampaignScenarios.Get_get_all_campaigns_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.CampaignScenarios.Post_add_new_campaign_and_response_ok_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="e0c885da-83ce-b300-fe65-41c3a5c5e28f">
|
||||
<Execution id="9079d887-1d03-4651-bbad-465e5ecbe247" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.CampaignScenarios.Post_add_new_campaign_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.CampaignScenarios.Get_get_campaign_by_id_and_response_not_found_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="cc442a4b-50c1-22da-f021-97ab6639da3e">
|
||||
<Execution id="3d7664b0-c660-41c2-bd10-6241c8bf48bb" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.CampaignScenarios.Get_get_campaign_by_id_and_response_not_found_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.UserLocationRoleScenarios.Post_add_new_user_location_rule_and_response_ok_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="b465ea84-27b5-101d-9b64-ecc018001e3e">
|
||||
<Execution id="e4910f38-9f2b-4de5-a3cf-cdefde7af357" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.UserLocationRoleScenarios.Post_add_new_user_location_rule_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.CampaignScenarios.Get_get_campaign_by_id_and_response_ok_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="fe5e0cf5-7915-7cc0-9822-1ea6a9002829">
|
||||
<Execution id="d66b1878-5d11-4e5e-a78b-0ab518db2f52" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.CampaignScenarios.Get_get_campaign_by_id_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.UserLocationRoleScenarios.Delete_delete_user_location_role_and_response_not_content_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="ac8ded60-54fb-4bef-36a0-5ca98eec474b">
|
||||
<Execution id="a4d3c593-a9cb-4f37-a5b4-3404d5496594" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.UserLocationRoleScenarios.Delete_delete_user_location_role_and_response_not_content_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.CampaignScenarios.Put_update_campaign_and_response_not_content_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="348d43c5-3f68-e1a0-fd14-f5a7c75fe894">
|
||||
<Execution id="89f0c88d-f352-4fd5-85cd-4dc346996fea" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.CampaignScenarios.Put_update_campaign_and_response_not_content_status_code" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Marketing.FunctionalTests.CampaignScenarios.Delete_delete_campaign_and_response_not_content_status_code" storage="/src/src/services/marketing/marketing.functionaltests/bin/debug/netcoreapp2.1/marketing.functionaltests.dll" id="6d91b76f-00a6-9e69-4202-48e6be1280e9">
|
||||
<Execution id="bac3bbc1-e916-4001-bfc1-4a2b4d578faf" />
|
||||
<TestMethod codeBase="/src/src/Services/Marketing/Marketing.FunctionalTests/bin/Debug/netcoreapp2.1/Marketing.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Marketing.FunctionalTests" name="Marketing.FunctionalTests.CampaignScenarios.Delete_delete_campaign_and_response_not_content_status_code" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="e0c885da-83ce-b300-fe65-41c3a5c5e28f" executionId="9079d887-1d03-4651-bbad-465e5ecbe247" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="6d91b76f-00a6-9e69-4202-48e6be1280e9" executionId="bac3bbc1-e916-4001-bfc1-4a2b4d578faf" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="348d43c5-3f68-e1a0-fd14-f5a7c75fe894" executionId="89f0c88d-f352-4fd5-85cd-4dc346996fea" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="b465ea84-27b5-101d-9b64-ecc018001e3e" executionId="e4910f38-9f2b-4de5-a3cf-cdefde7af357" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="ac8ded60-54fb-4bef-36a0-5ca98eec474b" executionId="a4d3c593-a9cb-4f37-a5b4-3404d5496594" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="fe5e0cf5-7915-7cc0-9822-1ea6a9002829" executionId="d66b1878-5d11-4e5e-a78b-0ab518db2f52" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="b65e6fb5-507d-2399-aedb-c39bbd53dd13" executionId="9eacbc3d-b815-4fd8-a2cf-c9e173057a86" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="42f7ecfc-c654-ab9c-0945-cfba3b51b47e" executionId="559fc908-d6b4-45c0-b2cc-1ec5ebf98a10" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="cc442a4b-50c1-22da-f021-97ab6639da3e" executionId="3d7664b0-c660-41c2-bd10-6241c8bf48bb" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="9" executed="9" passed="9" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:01.0963036] Discovering: Marketing.FunctionalTests[xUnit.net 00:00:01.1452772] Discovered: Marketing.FunctionalTests[xUnit.net 00:00:01.1494340] Starting: Marketing.FunctionalTests[xUnit.net 00:00:06.9663675] Finished: Marketing.FunctionalTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="f2920e88-61ef-4a6b-aeb1-22e22e9c820a" name="@3aa4f0b77384 2018-12-05 11:24:14" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-12-05T11:24:14.6310887+00:00" queuing="2018-12-05T11:24:14.6310894+00:00" start="2018-12-05T11:23:51.8232085+00:00" finish="2018-12-05T11:24:16.1186394+00:00" />
|
||||
<TestSettings name="default" id="1fb5b13d-2c79-4e35-9f5b-7e948c6a4a6e">
|
||||
<Deployment runDeploymentRoot="_3aa4f0b77384_2018-12-05_11_24_14" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="6776e376-4d25-4edb-ae03-414a233ca4ad" testId="01ee4a4c-4b61-ec68-b1de-10796cc68607" testName="Ordering.FunctionalTests.OrderingScenarios.Ship_order_no_order_created_bad_request_response" computerName="3aa4f0b77384" duration="00:00:00.5480000" startTime="2018-12-05T11:24:15.8390084+00:00" endTime="2018-12-05T11:24:15.8390117+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="6776e376-4d25-4edb-ae03-414a233ca4ad" />
|
||||
<UnitTestResult executionId="74045a0b-4d4a-4b22-87e1-78326dd52a88" testId="37ee8be5-0517-c735-d707-a8dcd6ba7613" testName="Ordering.FunctionalTests.OrderingScenarios.Get_get_all_stored_orders_and_response_ok_status_code" computerName="3aa4f0b77384" duration="00:00:00.7200000" startTime="2018-12-05T11:24:15.2884525+00:00" endTime="2018-12-05T11:24:15.2884560+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="74045a0b-4d4a-4b22-87e1-78326dd52a88" />
|
||||
<UnitTestResult executionId="006ece7e-25eb-4250-a460-400c28a819f5" testId="8c1a2207-d19c-0b78-dd96-df617732922c" testName="Ordering.FunctionalTests.OrderingScenarios.Cancel_order_no_order_created_bad_request_response" computerName="3aa4f0b77384" duration="00:00:12.5450000" startTime="2018-12-05T11:24:14.5454681+00:00" endTime="2018-12-05T11:24:14.5454717+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="006ece7e-25eb-4250-a460-400c28a819f5" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="Ordering.FunctionalTests.OrderingScenarios.Ship_order_no_order_created_bad_request_response" storage="/src/src/services/ordering/ordering.functionaltests/bin/debug/netcoreapp2.1/ordering.functionaltests.dll" id="01ee4a4c-4b61-ec68-b1de-10796cc68607">
|
||||
<Execution id="6776e376-4d25-4edb-ae03-414a233ca4ad" />
|
||||
<TestMethod codeBase="/src/src/Services/Ordering/Ordering.FunctionalTests/bin/Debug/netcoreapp2.1/Ordering.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Ordering.FunctionalTests" name="Ordering.FunctionalTests.OrderingScenarios.Ship_order_no_order_created_bad_request_response" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Ordering.FunctionalTests.OrderingScenarios.Cancel_order_no_order_created_bad_request_response" storage="/src/src/services/ordering/ordering.functionaltests/bin/debug/netcoreapp2.1/ordering.functionaltests.dll" id="8c1a2207-d19c-0b78-dd96-df617732922c">
|
||||
<Execution id="006ece7e-25eb-4250-a460-400c28a819f5" />
|
||||
<TestMethod codeBase="/src/src/Services/Ordering/Ordering.FunctionalTests/bin/Debug/netcoreapp2.1/Ordering.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Ordering.FunctionalTests" name="Ordering.FunctionalTests.OrderingScenarios.Cancel_order_no_order_created_bad_request_response" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Ordering.FunctionalTests.OrderingScenarios.Get_get_all_stored_orders_and_response_ok_status_code" storage="/src/src/services/ordering/ordering.functionaltests/bin/debug/netcoreapp2.1/ordering.functionaltests.dll" id="37ee8be5-0517-c735-d707-a8dcd6ba7613">
|
||||
<Execution id="74045a0b-4d4a-4b22-87e1-78326dd52a88" />
|
||||
<TestMethod codeBase="/src/src/Services/Ordering/Ordering.FunctionalTests/bin/Debug/netcoreapp2.1/Ordering.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Ordering.FunctionalTests" name="Ordering.FunctionalTests.OrderingScenarios.Get_get_all_stored_orders_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="01ee4a4c-4b61-ec68-b1de-10796cc68607" executionId="6776e376-4d25-4edb-ae03-414a233ca4ad" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="37ee8be5-0517-c735-d707-a8dcd6ba7613" executionId="74045a0b-4d4a-4b22-87e1-78326dd52a88" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="8c1a2207-d19c-0b78-dd96-df617732922c" executionId="006ece7e-25eb-4250-a460-400c28a819f5" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="3" executed="3" passed="3" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:05.2039980] Discovering: Ordering.FunctionalTests[xUnit.net 00:00:05.4802527] Discovered: Ordering.FunctionalTests[xUnit.net 00:00:05.5249888] Starting: Ordering.FunctionalTests[xUnit.net 00:00:20.1396674] Finished: Ordering.FunctionalTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TestRun id="2c3747dd-fc05-4392-a731-de2f32a62eef" name="@2b67e7387bb9 2018-12-05 11:24:14" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Times creation="2018-12-05T11:24:14.5102211+00:00" queuing="2018-12-05T11:24:14.5102222+00:00" start="2018-12-05T11:23:50.0598477+00:00" finish="2018-12-05T11:24:15.8957360+00:00" />
|
||||
<TestSettings name="default" id="cda9c3c1-e5e4-4684-8b96-7eed6663bec0">
|
||||
<Deployment runDeploymentRoot="_2b67e7387bb9_2018-12-05_11_24_14" />
|
||||
</TestSettings>
|
||||
<Results>
|
||||
<UnitTestResult executionId="1d45c572-59de-4d7f-8f9c-d69b5dadbf02" testId="8c1a2207-d19c-0b78-dd96-df617732922c" testName="Ordering.FunctionalTests.OrderingScenarios.Cancel_order_no_order_created_bad_request_response" computerName="2b67e7387bb9" duration="00:00:13.3130000" startTime="2018-12-05T11:24:14.4257017+00:00" endTime="2018-12-05T11:24:14.4257056+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="1d45c572-59de-4d7f-8f9c-d69b5dadbf02" />
|
||||
<UnitTestResult executionId="9e229357-8b76-4569-914b-6030866ee316" testId="37ee8be5-0517-c735-d707-a8dcd6ba7613" testName="Ordering.FunctionalTests.OrderingScenarios.Get_get_all_stored_orders_and_response_ok_status_code" computerName="2b67e7387bb9" duration="00:00:00.6970000" startTime="2018-12-05T11:24:15.1362290+00:00" endTime="2018-12-05T11:24:15.1362337+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="9e229357-8b76-4569-914b-6030866ee316" />
|
||||
<UnitTestResult executionId="1e2ff621-c28c-49de-bfe7-d890ac94d9e6" testId="01ee4a4c-4b61-ec68-b1de-10796cc68607" testName="Ordering.FunctionalTests.OrderingScenarios.Ship_order_no_order_created_bad_request_response" computerName="2b67e7387bb9" duration="00:00:00.4950000" startTime="2018-12-05T11:24:15.6429216+00:00" endTime="2018-12-05T11:24:15.6429254+00:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Passed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="1e2ff621-c28c-49de-bfe7-d890ac94d9e6" />
|
||||
</Results>
|
||||
<TestDefinitions>
|
||||
<UnitTest name="Ordering.FunctionalTests.OrderingScenarios.Ship_order_no_order_created_bad_request_response" storage="/src/src/services/ordering/ordering.functionaltests/bin/debug/netcoreapp2.1/ordering.functionaltests.dll" id="01ee4a4c-4b61-ec68-b1de-10796cc68607">
|
||||
<Execution id="1e2ff621-c28c-49de-bfe7-d890ac94d9e6" />
|
||||
<TestMethod codeBase="/src/src/Services/Ordering/Ordering.FunctionalTests/bin/Debug/netcoreapp2.1/Ordering.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Ordering.FunctionalTests" name="Ordering.FunctionalTests.OrderingScenarios.Ship_order_no_order_created_bad_request_response" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Ordering.FunctionalTests.OrderingScenarios.Cancel_order_no_order_created_bad_request_response" storage="/src/src/services/ordering/ordering.functionaltests/bin/debug/netcoreapp2.1/ordering.functionaltests.dll" id="8c1a2207-d19c-0b78-dd96-df617732922c">
|
||||
<Execution id="1d45c572-59de-4d7f-8f9c-d69b5dadbf02" />
|
||||
<TestMethod codeBase="/src/src/Services/Ordering/Ordering.FunctionalTests/bin/Debug/netcoreapp2.1/Ordering.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Ordering.FunctionalTests" name="Ordering.FunctionalTests.OrderingScenarios.Cancel_order_no_order_created_bad_request_response" />
|
||||
</UnitTest>
|
||||
<UnitTest name="Ordering.FunctionalTests.OrderingScenarios.Get_get_all_stored_orders_and_response_ok_status_code" storage="/src/src/services/ordering/ordering.functionaltests/bin/debug/netcoreapp2.1/ordering.functionaltests.dll" id="37ee8be5-0517-c735-d707-a8dcd6ba7613">
|
||||
<Execution id="9e229357-8b76-4569-914b-6030866ee316" />
|
||||
<TestMethod codeBase="/src/src/Services/Ordering/Ordering.FunctionalTests/bin/Debug/netcoreapp2.1/Ordering.FunctionalTests.dll" adapterTypeName="executor://xunit/VsTestRunner2/netcoreapp" className="Ordering.FunctionalTests" name="Ordering.FunctionalTests.OrderingScenarios.Get_get_all_stored_orders_and_response_ok_status_code" />
|
||||
</UnitTest>
|
||||
</TestDefinitions>
|
||||
<TestEntries>
|
||||
<TestEntry testId="8c1a2207-d19c-0b78-dd96-df617732922c" executionId="1d45c572-59de-4d7f-8f9c-d69b5dadbf02" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="37ee8be5-0517-c735-d707-a8dcd6ba7613" executionId="9e229357-8b76-4569-914b-6030866ee316" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestEntry testId="01ee4a4c-4b61-ec68-b1de-10796cc68607" executionId="1e2ff621-c28c-49de-bfe7-d890ac94d9e6" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
</TestEntries>
|
||||
<TestLists>
|
||||
<TestList name="Results Not in a List" id="8c84fa94-04c1-424b-9868-57a2d4851a1d" />
|
||||
<TestList name="All Loaded Results" id="19431567-8539-422a-85d7-44ee4e166bda" />
|
||||
</TestLists>
|
||||
<ResultSummary outcome="Completed">
|
||||
<Counters total="3" executed="3" passed="3" failed="0" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" />
|
||||
<Output>
|
||||
<StdOut>[xUnit.net 00:00:05.4257955] Discovering: Ordering.FunctionalTests[xUnit.net 00:00:05.9560169] Discovered: Ordering.FunctionalTests[xUnit.net 00:00:05.9845906] Starting: Ordering.FunctionalTests[xUnit.net 00:00:21.2769127] Finished: Ordering.FunctionalTests</StdOut>
|
||||
</Output>
|
||||
</ResultSummary>
|
||||
</TestRun>
|
Loading…
x
Reference in New Issue
Block a user