public void DomainProjectsUseAllowedContexts() { var domainAssemblies = AssembliesFixture.GetDomainAssemblies(); var allowedVmAssemblies = new[] { $"{FullDomainNs}.Contracts", $"{PackageNamingConstants.ROOT_NS}.Infrastructure.Bootstrap" }; foreach (var domainAssembly in domainAssemblies) { var allowedNames = PackageNamingConstants.BoundedContexts.Union(PackageNamingConstants.AllowedDomainPackages).ToArray(); domainAssembly.AssertContextNameIsAllowed(allowedNames); var references = domainAssembly.GetReferencedAssemblies(); var filtered = references .Where(NotSystemDependency) .Where(NotMicrosoftDependency) .Where(p => NotDependency(p, PackageNamingConstants.SIMPLE_INJECTOR_NS)) .Where(p => NotDependency(p, PackageNamingConstants.AUTOMAPPER_NS)) .Where(p => NotDependency(p, PackageNamingConstants.AllowedLoggerReferences)) .Where(p => NotDependency(p, $"{PackageNamingConstants.ROOT_NS}.Infrastructure.Bootstrap")) .Where(a => NotDependency(a, allowedVmAssemblies)); FilterDomainFrameworkAssembly(ref filtered); filtered.Should().BeEmpty("{0} assembly should reference only allowed assemblies", domainAssembly.GetName().Name); } }
public void ApiProjectsUseAllowedContexts() { var apiAssemblies = AssembliesFixture.GetApiAssemblies(); foreach (var apiAssembly in apiAssemblies) { apiAssembly.AssertContextNameIsAllowed(PackageNamingConstants.BoundedContexts); } }
public void InfrastructureProjectsUseAllowedContexts() { var infraAssemblies = AssembliesFixture.GetInfrastructureAssemblies(); foreach (var infraAssembly in infraAssemblies) { var allowedNames = new List <string>(); allowedNames.AddRange(PackageNamingConstants.BoundedContexts); allowedNames.AddRange(PackageNamingConstants.InfrastructureServices); infraAssembly.AssertContextNameIsAllowed(allowedNames); } }
public void ApiProjectsUseAllowedContexts() { var apiAssemblies = AssembliesFixture.GetApiAssemblies(); foreach (var apiAssembly in apiAssemblies) { var allowedNames = new List <string>(); allowedNames.AddRange(PackageNamingConstants.BoundedContexts); allowedNames.AddRange(PackageNamingConstants.ApiServices); apiAssembly.AssertContextNameIsAllowed(allowedNames); } }