Browse Source

[NO LOGIC] [PM-21100] Organize billing organization code (#6099)

* [NO LOGIC] Organize Billing organization code

* Run dotnet format
pull/6106/head
Alex Morask 5 months ago committed by GitHub
parent
commit
ec70a18bda
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 10
      src/Admin/Controllers/ToolsController.cs
  2. 2
      src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs
  3. 11
      src/Api/Billing/Controllers/LicensesController.cs
  4. 3
      src/Api/Billing/Controllers/OrganizationBillingController.cs
  5. 12
      src/Api/Billing/Controllers/OrganizationsController.cs
  6. 2
      src/Api/Billing/Models/Responses/OrganizationMetadataResponse.cs
  7. 13
      src/Api/Controllers/SelfHosted/SelfHostedOrganizationLicensesController.cs
  8. 2
      src/Core/AdminConsole/Entities/Organization.cs
  9. 2
      src/Core/AdminConsole/Models/Data/Organizations/SelfHostedOrganizationDetails.cs
  10. 4
      src/Core/AdminConsole/OrganizationFeatures/Organizations/CloudOrganizationSignUpCommand.cs
  11. 2
      src/Core/AdminConsole/Services/IOrganizationService.cs
  12. 2
      src/Core/AdminConsole/Services/Implementations/OrganizationService.cs
  13. 2
      src/Core/AdminConsole/Services/OrganizationFactory.cs
  14. 10
      src/Core/Billing/Extensions/ServiceCollectionExtensions.cs
  15. 16
      src/Core/Billing/OrganizationFeatures/OrganizationLicenses/Interfaces/IGetOrganizationLicenseQuery.cs
  16. 13
      src/Core/Billing/OrganizationFeatures/OrganizationLicenses/Interfaces/IUpdateOrganizationLicenseCommand.cs
  17. 15
      src/Core/Billing/Organizations/Commands/UpdateOrganizationLicenseCommand.cs
  18. 4
      src/Core/Billing/Organizations/Entities/OrganizationInstallation.cs
  19. 3
      src/Core/Billing/Organizations/Models/OrganizationLicense.cs
  20. 2
      src/Core/Billing/Organizations/Models/OrganizationMetadata.cs
  21. 6
      src/Core/Billing/Organizations/Models/OrganizationSale.cs
  22. 2
      src/Core/Billing/Organizations/Models/SponsorOrganizationSubscriptionUpdate.cs
  23. 15
      src/Core/Billing/Organizations/Queries/GetCloudOrganizationLicenseQuery.cs
  24. 14
      src/Core/Billing/Organizations/Queries/GetSelfHostedOrganizationLicenseQuery.cs
  25. 4
      src/Core/Billing/Organizations/Repositories/IOrganizationInstallationRepository.cs
  26. 6
      src/Core/Billing/Organizations/Services/IOrganizationBillingService.cs
  27. 7
      src/Core/Billing/Organizations/Services/OrganizationBillingService.cs
  28. 1
      src/Core/Billing/Services/ILicensingService.cs
  29. 1
      src/Core/Billing/Services/Implementations/LicensingService.cs
  30. 1
      src/Core/Billing/Services/NoopImplementations/NoopLicensingService.cs
  31. 4
      src/Core/OrganizationFeatures/OrganizationSubscriptions/UpgradeOrganizationPlanCommand.cs
  32. 2
      src/Core/Services/Implementations/StripePaymentService.cs
  33. 4
      src/Infrastructure.Dapper/Billing/Repositories/OrganizationInstallationRepository.cs
  34. 2
      src/Infrastructure.Dapper/DapperServiceCollectionExtensions.cs
  35. 4
      src/Infrastructure.EntityFramework/Billing/Models/OrganizationInstallation.cs
  36. 4
      src/Infrastructure.EntityFramework/Billing/Repositories/OrganizationInstallationRepository.cs
  37. 2
      src/Infrastructure.EntityFramework/EntityFrameworkServiceCollectionExtensions.cs
  38. 2
      test/Api.Test/AdminConsole/Controllers/OrganizationConnectionsControllerTests.cs
  39. 3
      test/Api.Test/Billing/Controllers/OrganizationBillingControllerTests.cs
  40. 10
      test/Api.Test/Billing/Controllers/OrganizationsControllerTests.cs
  41. 2
      test/Api.Test/Utilities/ApiHelpersTests.cs
  42. 2
      test/Core.Test/AdminConsole/Models/Data/SelfHostedOrganizationDetailsTests.cs
  43. 4
      test/Core.Test/AdminConsole/OrganizationFeatures/Organizations/OrganizationSignUp/CloudOrganizationSignUpCommandTests.cs
  44. 2
      test/Core.Test/Billing/AutoFixture/OrganizationLicenseCustomization.cs
  45. 2
      test/Core.Test/Billing/Models/Business/OrganizationLicenseFileFixtures.cs
  46. 2
      test/Core.Test/Billing/Models/Business/OrganizationLicenseTests.cs
  47. 14
      test/Core.Test/Billing/OrganizationFeatures/OrganizationLicenses/CloudGetOrganizationLicenseQueryTests.cs
  48. 10
      test/Core.Test/Billing/OrganizationFeatures/OrganizationLicenses/SelfHostedGetOrganizationLicenseQueryTests.cs
  49. 4
      test/Core.Test/Billing/OrganizationFeatures/OrganizationLicenses/UpdateOrganizationLicenseCommandTests.cs
  50. 2
      test/Core.Test/Billing/Services/LicensingServiceTests.cs
  51. 2
      test/Core.Test/Billing/Services/OrganizationBillingServiceTests.cs
  52. 1
      test/IntegrationTestCommon/Factories/WebApplicationFactoryBase.cs

10
src/Admin/Controllers/ToolsController.cs

@ -8,7 +8,7 @@ using Bit.Admin.Models; @@ -8,7 +8,7 @@ using Bit.Admin.Models;
using Bit.Admin.Utilities;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.AdminConsole.Repositories;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Entities;
using Bit.Core.Models.BitStripe;
using Bit.Core.Platform.Installations;
@ -27,7 +27,7 @@ public class ToolsController : Controller @@ -27,7 +27,7 @@ public class ToolsController : Controller
{
private readonly GlobalSettings _globalSettings;
private readonly IOrganizationRepository _organizationRepository;
private readonly ICloudGetOrganizationLicenseQuery _cloudGetOrganizationLicenseQuery;
private readonly IGetCloudOrganizationLicenseQuery _getCloudOrganizationLicenseQuery;
private readonly IUserService _userService;
private readonly ITransactionRepository _transactionRepository;
private readonly IInstallationRepository _installationRepository;
@ -40,7 +40,7 @@ public class ToolsController : Controller @@ -40,7 +40,7 @@ public class ToolsController : Controller
public ToolsController(
GlobalSettings globalSettings,
IOrganizationRepository organizationRepository,
ICloudGetOrganizationLicenseQuery cloudGetOrganizationLicenseQuery,
IGetCloudOrganizationLicenseQuery getCloudOrganizationLicenseQuery,
IUserService userService,
ITransactionRepository transactionRepository,
IInstallationRepository installationRepository,
@ -52,7 +52,7 @@ public class ToolsController : Controller @@ -52,7 +52,7 @@ public class ToolsController : Controller
{
_globalSettings = globalSettings;
_organizationRepository = organizationRepository;
_cloudGetOrganizationLicenseQuery = cloudGetOrganizationLicenseQuery;
_getCloudOrganizationLicenseQuery = getCloudOrganizationLicenseQuery;
_userService = userService;
_transactionRepository = transactionRepository;
_installationRepository = installationRepository;
@ -320,7 +320,7 @@ public class ToolsController : Controller @@ -320,7 +320,7 @@ public class ToolsController : Controller
if (organization != null)
{
var license = await _cloudGetOrganizationLicenseQuery.GetLicenseAsync(organization,
var license = await _getCloudOrganizationLicenseQuery.GetLicenseAsync(organization,
model.InstallationId.Value, model.Version);
var ms = new MemoryStream();
await JsonSerializer.SerializeAsync(ms, license, JsonHelpers.Indented);

2
src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs

@ -5,7 +5,7 @@ using System.Text.Json.Serialization; @@ -5,7 +5,7 @@ using System.Text.Json.Serialization;
using Bit.Api.Models.Response;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Models.Api;
using Bit.Core.Models.Business;
using Bit.Core.Models.StaticStore;

11
src/Api/Billing/Controllers/LicensesController.cs

@ -3,7 +3,8 @@ @@ -3,7 +3,8 @@
using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationConnections.Interfaces;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Context;
using Bit.Core.Exceptions;
using Bit.Core.Models.Api.OrganizationLicenses;
@ -23,7 +24,7 @@ public class LicensesController : Controller @@ -23,7 +24,7 @@ public class LicensesController : Controller
private readonly IUserRepository _userRepository;
private readonly IUserService _userService;
private readonly IOrganizationRepository _organizationRepository;
private readonly ICloudGetOrganizationLicenseQuery _cloudGetOrganizationLicenseQuery;
private readonly IGetCloudOrganizationLicenseQuery _getCloudOrganizationLicenseQuery;
private readonly IValidateBillingSyncKeyCommand _validateBillingSyncKeyCommand;
private readonly ICurrentContext _currentContext;
@ -31,14 +32,14 @@ public class LicensesController : Controller @@ -31,14 +32,14 @@ public class LicensesController : Controller
IUserRepository userRepository,
IUserService userService,
IOrganizationRepository organizationRepository,
ICloudGetOrganizationLicenseQuery cloudGetOrganizationLicenseQuery,
IGetCloudOrganizationLicenseQuery getCloudOrganizationLicenseQuery,
IValidateBillingSyncKeyCommand validateBillingSyncKeyCommand,
ICurrentContext currentContext)
{
_userRepository = userRepository;
_userService = userService;
_organizationRepository = organizationRepository;
_cloudGetOrganizationLicenseQuery = cloudGetOrganizationLicenseQuery;
_getCloudOrganizationLicenseQuery = getCloudOrganizationLicenseQuery;
_validateBillingSyncKeyCommand = validateBillingSyncKeyCommand;
_currentContext = currentContext;
}
@ -84,7 +85,7 @@ public class LicensesController : Controller @@ -84,7 +85,7 @@ public class LicensesController : Controller
throw new BadRequestException("Invalid Billing Sync Key");
}
var license = await _cloudGetOrganizationLicenseQuery.GetLicenseAsync(organization, _currentContext.InstallationId.Value);
var license = await _getCloudOrganizationLicenseQuery.GetLicenseAsync(organization, _currentContext.InstallationId.Value);
return license;
}
}

3
src/Api/Billing/Controllers/OrganizationBillingController.cs

@ -6,7 +6,8 @@ using Bit.Api.Billing.Models.Responses; @@ -6,7 +6,8 @@ using Bit.Api.Billing.Models.Responses;
using Bit.Api.Billing.Queries.Organizations;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Models.Sales;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Providers.Services;
using Bit.Core.Billing.Services;

12
src/Api/Billing/Controllers/OrganizationsController.cs

@ -9,12 +9,12 @@ using Bit.Api.Models.Request.Organizations; @@ -9,12 +9,12 @@ using Bit.Api.Models.Request.Organizations;
using Bit.Api.Models.Response;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Constants;
using Bit.Core.Billing.Entities;
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Entities;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Billing.Organizations.Repositories;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Repositories;
using Bit.Core.Billing.Services;
using Bit.Core.Context;
using Bit.Core.Enums;
@ -39,7 +39,7 @@ public class OrganizationsController( @@ -39,7 +39,7 @@ public class OrganizationsController(
IUserService userService,
IPaymentService paymentService,
ICurrentContext currentContext,
ICloudGetOrganizationLicenseQuery cloudGetOrganizationLicenseQuery,
IGetCloudOrganizationLicenseQuery getCloudOrganizationLicenseQuery,
GlobalSettings globalSettings,
ILicensingService licensingService,
IUpdateSecretsManagerSubscriptionCommand updateSecretsManagerSubscriptionCommand,
@ -98,7 +98,7 @@ public class OrganizationsController( @@ -98,7 +98,7 @@ public class OrganizationsController(
}
var org = await organizationRepository.GetByIdAsync(id);
var license = await cloudGetOrganizationLicenseQuery.GetLicenseAsync(org, installationId);
var license = await getCloudOrganizationLicenseQuery.GetLicenseAsync(org, installationId);
if (license == null)
{
throw new NotFoundException();

2
src/Api/Billing/Models/Responses/OrganizationMetadataResponse.cs

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Organizations.Models;
namespace Bit.Api.Billing.Models.Responses;

13
src/Api/Controllers/SelfHosted/SelfHostedOrganizationLicensesController.cs

@ -5,8 +5,9 @@ using Bit.Api.AdminConsole.Models.Response.Organizations; @@ -5,8 +5,9 @@ using Bit.Api.AdminConsole.Models.Response.Organizations;
using Bit.Api.Models.Request;
using Bit.Api.Models.Request.Organizations;
using Bit.Api.Utilities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Commands;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Context;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
@ -25,7 +26,7 @@ namespace Bit.Api.Controllers.SelfHosted; @@ -25,7 +26,7 @@ namespace Bit.Api.Controllers.SelfHosted;
public class SelfHostedOrganizationLicensesController : Controller
{
private readonly ICurrentContext _currentContext;
private readonly ISelfHostedGetOrganizationLicenseQuery _selfHostedGetOrganizationLicenseQuery;
private readonly IGetSelfHostedOrganizationLicenseQuery _getSelfHostedOrganizationLicenseQuery;
private readonly IOrganizationConnectionRepository _organizationConnectionRepository;
private readonly IOrganizationService _organizationService;
private readonly IOrganizationRepository _organizationRepository;
@ -34,7 +35,7 @@ public class SelfHostedOrganizationLicensesController : Controller @@ -34,7 +35,7 @@ public class SelfHostedOrganizationLicensesController : Controller
public SelfHostedOrganizationLicensesController(
ICurrentContext currentContext,
ISelfHostedGetOrganizationLicenseQuery selfHostedGetOrganizationLicenseQuery,
IGetSelfHostedOrganizationLicenseQuery getSelfHostedOrganizationLicenseQuery,
IOrganizationConnectionRepository organizationConnectionRepository,
IOrganizationService organizationService,
IOrganizationRepository organizationRepository,
@ -42,7 +43,7 @@ public class SelfHostedOrganizationLicensesController : Controller @@ -42,7 +43,7 @@ public class SelfHostedOrganizationLicensesController : Controller
IUpdateOrganizationLicenseCommand updateOrganizationLicenseCommand)
{
_currentContext = currentContext;
_selfHostedGetOrganizationLicenseQuery = selfHostedGetOrganizationLicenseQuery;
_getSelfHostedOrganizationLicenseQuery = getSelfHostedOrganizationLicenseQuery;
_organizationConnectionRepository = organizationConnectionRepository;
_organizationService = organizationService;
_organizationRepository = organizationRepository;
@ -120,7 +121,7 @@ public class SelfHostedOrganizationLicensesController : Controller @@ -120,7 +121,7 @@ public class SelfHostedOrganizationLicensesController : Controller
}
var license =
await _selfHostedGetOrganizationLicenseQuery.GetLicenseAsync(selfHostedOrganizationDetails, billingSyncConnection);
await _getSelfHostedOrganizationLicenseQuery.GetLicenseAsync(selfHostedOrganizationDetails, billingSyncConnection);
var currentOrganization = await _organizationRepository.GetByLicenseKeyAsync(license.LicenseKey);
await _updateOrganizationLicenseCommand.UpdateLicenseAsync(selfHostedOrganizationDetails, license, currentOrganization);

2
src/Core/AdminConsole/Entities/Organization.cs

@ -4,7 +4,7 @@ using System.Text.Json; @@ -4,7 +4,7 @@ using System.Text.Json;
using Bit.Core.Auth.Enums;
using Bit.Core.Auth.Models;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Enums;
using Bit.Core.Services;

2
src/Core/AdminConsole/Models/Data/Organizations/SelfHostedOrganizationDetails.cs

@ -6,7 +6,7 @@ using Bit.Core.AdminConsole.Enums; @@ -6,7 +6,7 @@ using Bit.Core.AdminConsole.Enums;
using Bit.Core.AdminConsole.Models.OrganizationConnectionConfigs;
using Bit.Core.Auth.Entities;
using Bit.Core.Auth.Enums;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Enums;

4
src/Core/AdminConsole/OrganizationFeatures/Organizations/CloudOrganizationSignUpCommand.cs

@ -5,9 +5,9 @@ using Bit.Core.AdminConsole.Entities; @@ -5,9 +5,9 @@ using Bit.Core.AdminConsole.Entities;
using Bit.Core.AdminConsole.Enums;
using Bit.Core.AdminConsole.Services;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models.Sales;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Services;
using Bit.Core.Entities;
using Bit.Core.Enums;
using Bit.Core.Exceptions;

2
src/Core/AdminConsole/Services/IOrganizationService.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
using Bit.Core.AdminConsole.Entities;
using Bit.Core.AdminConsole.Models.Business;
using Bit.Core.Auth.Enums;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Enums;
using Bit.Core.Models.Business;

2
src/Core/AdminConsole/Services/Implementations/OrganizationService.cs

@ -20,7 +20,7 @@ using Bit.Core.Auth.Repositories; @@ -20,7 +20,7 @@ using Bit.Core.Auth.Repositories;
using Bit.Core.Billing.Constants;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Extensions;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Services;
using Bit.Core.Context;

2
src/Core/AdminConsole/Services/OrganizationFactory.cs

@ -3,7 +3,7 @@ using Bit.Core.AdminConsole.Entities; @@ -3,7 +3,7 @@ using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Licenses;
using Bit.Core.Billing.Licenses.Extensions;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Enums;

10
src/Core/Billing/Extensions/ServiceCollectionExtensions.cs

@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
using Bit.Core.Billing.Caches;
using Bit.Core.Billing.Caches.Implementations;
using Bit.Core.Billing.Licenses.Extensions;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.SelfHosted;
using Bit.Core.Billing.Organizations.Commands;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Billing.Payment;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Services;
@ -37,8 +37,8 @@ public static class ServiceCollectionExtensions @@ -37,8 +37,8 @@ public static class ServiceCollectionExtensions
private static void AddOrganizationLicenseCommandsQueries(this IServiceCollection services)
{
services.AddScoped<ICloudGetOrganizationLicenseQuery, CloudGetOrganizationLicenseQuery>();
services.AddScoped<ISelfHostedGetOrganizationLicenseQuery, SelfHostedGetOrganizationLicenseQuery>();
services.AddScoped<IGetCloudOrganizationLicenseQuery, GetCloudOrganizationLicenseQuery>();
services.AddScoped<IGetSelfHostedOrganizationLicenseQuery, GetSelfHostedOrganizationLicenseQuery>();
services.AddScoped<IUpdateOrganizationLicenseCommand, UpdateOrganizationLicenseCommand>();
}
}

16
src/Core/Billing/OrganizationFeatures/OrganizationLicenses/Interfaces/IGetOrganizationLicenseQuery.cs

@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Entities;
namespace Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
public interface ICloudGetOrganizationLicenseQuery
{
Task<OrganizationLicense> GetLicenseAsync(Organization organization, Guid installationId,
int? version = null);
}
public interface ISelfHostedGetOrganizationLicenseQuery
{
Task<OrganizationLicense> GetLicenseAsync(Organization organization, OrganizationConnection billingSyncConnection);
}

13
src/Core/Billing/OrganizationFeatures/OrganizationLicenses/Interfaces/IUpdateOrganizationLicenseCommand.cs

@ -1,13 +0,0 @@ @@ -1,13 +0,0 @@
#nullable enable
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Models.Data.Organizations;
namespace Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
public interface IUpdateOrganizationLicenseCommand
{
Task UpdateLicenseAsync(SelfHostedOrganizationDetails selfHostedOrganization,
OrganizationLicense license, Organization? currentOrganizationUsingLicenseKey);
}

15
src/Core/Billing/OrganizationFeatures/OrganizationLicenses/UpdateOrganizationLicenseCommand.cs → src/Core/Billing/Organizations/Commands/UpdateOrganizationLicenseCommand.cs

@ -1,9 +1,6 @@ @@ -1,9 +1,6 @@
#nullable enable
using System.Text.Json;
using System.Text.Json;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Services;
using Bit.Core.Exceptions;
using Bit.Core.Models.Data.Organizations;
@ -11,7 +8,13 @@ using Bit.Core.Services; @@ -11,7 +8,13 @@ using Bit.Core.Services;
using Bit.Core.Settings;
using Bit.Core.Utilities;
namespace Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses;
namespace Bit.Core.Billing.Organizations.Commands;
public interface IUpdateOrganizationLicenseCommand
{
Task UpdateLicenseAsync(SelfHostedOrganizationDetails selfHostedOrganization,
OrganizationLicense license, Organization? currentOrganizationUsingLicenseKey);
}
public class UpdateOrganizationLicenseCommand : IUpdateOrganizationLicenseCommand
{

4
src/Core/Billing/Entities/OrganizationInstallation.cs → src/Core/Billing/Organizations/Entities/OrganizationInstallation.cs

@ -1,9 +1,7 @@ @@ -1,9 +1,7 @@
using Bit.Core.Entities;
using Bit.Core.Utilities;
namespace Bit.Core.Billing.Entities;
#nullable enable
namespace Bit.Core.Billing.Organizations.Entities;
public class OrganizationInstallation : ITableObject<Guid>
{

3
src/Core/Billing/Models/Business/OrganizationLicense.cs → src/Core/Billing/Organizations/Models/OrganizationLicense.cs

@ -10,12 +10,13 @@ using System.Text.Json.Serialization; @@ -10,12 +10,13 @@ using System.Text.Json.Serialization;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Licenses.Extensions;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Services;
using Bit.Core.Enums;
using Bit.Core.Models.Business;
using Bit.Core.Settings;
namespace Bit.Core.Billing.Models.Business;
namespace Bit.Core.Billing.Organizations.Models;
public class OrganizationLicense : ILicense
{

2
src/Core/Billing/Models/OrganizationMetadata.cs → src/Core/Billing/Organizations/Models/OrganizationMetadata.cs

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
namespace Bit.Core.Billing.Models;
namespace Bit.Core.Billing.Organizations.Models;
public record OrganizationMetadata(
bool IsEligibleForSelfHost,

6
src/Core/Billing/Models/Sales/OrganizationSale.cs → src/Core/Billing/Organizations/Models/OrganizationSale.cs

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Constants;
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Models.Sales;
using Bit.Core.Billing.Tax.Models;
using Bit.Core.Models.Business;
namespace Bit.Core.Billing.Models.Sales;
#nullable enable
namespace Bit.Core.Billing.Organizations.Models;
public class OrganizationSale
{

2
src/Core/Billing/Models/Business/SponsorOrganizationSubscriptionUpdate.cs → src/Core/Billing/Organizations/Models/SponsorOrganizationSubscriptionUpdate.cs

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
using Bit.Core.Models.Business;
using Stripe;
namespace Bit.Core.Billing.Models.Business;
namespace Bit.Core.Billing.Organizations.Models;
public class SponsorOrganizationSubscriptionUpdate : SubscriptionUpdate
{

15
src/Core/Billing/OrganizationFeatures/OrganizationLicenses/Cloud/CloudGetOrganizationLicenseQuery.cs → src/Core/Billing/Organizations/Queries/GetCloudOrganizationLicenseQuery.cs

@ -3,8 +3,7 @@ @@ -3,8 +3,7 @@
using Bit.Core.AdminConsole.Entities;
using Bit.Core.AdminConsole.Repositories;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Services;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
@ -12,9 +11,15 @@ using Bit.Core.Models.Business; @@ -12,9 +11,15 @@ using Bit.Core.Models.Business;
using Bit.Core.Platform.Installations;
using Bit.Core.Services;
namespace Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses;
namespace Bit.Core.Billing.Organizations.Queries;
public class CloudGetOrganizationLicenseQuery : ICloudGetOrganizationLicenseQuery
public interface IGetCloudOrganizationLicenseQuery
{
Task<OrganizationLicense> GetLicenseAsync(Organization organization, Guid installationId,
int? version = null);
}
public class GetCloudOrganizationLicenseQuery : IGetCloudOrganizationLicenseQuery
{
private readonly IInstallationRepository _installationRepository;
private readonly IPaymentService _paymentService;
@ -22,7 +27,7 @@ public class CloudGetOrganizationLicenseQuery : ICloudGetOrganizationLicenseQuer @@ -22,7 +27,7 @@ public class CloudGetOrganizationLicenseQuery : ICloudGetOrganizationLicenseQuer
private readonly IProviderRepository _providerRepository;
private readonly IFeatureService _featureService;
public CloudGetOrganizationLicenseQuery(
public GetCloudOrganizationLicenseQuery(
IInstallationRepository installationRepository,
IPaymentService paymentService,
ILicensingService licensingService,

14
src/Core/Billing/OrganizationFeatures/OrganizationLicenses/SelfHosted/SelfHostedGetOrganizationLicenseQuery.cs → src/Core/Billing/Organizations/Queries/GetSelfHostedOrganizationLicenseQuery.cs

@ -2,8 +2,7 @@ @@ -2,8 +2,7 @@
#nullable disable
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Context;
using Bit.Core.Entities;
using Bit.Core.Exceptions;
@ -13,13 +12,18 @@ using Bit.Core.Services; @@ -13,13 +12,18 @@ using Bit.Core.Services;
using Bit.Core.Settings;
using Microsoft.Extensions.Logging;
namespace Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.SelfHosted;
namespace Bit.Core.Billing.Organizations.Queries;
public class SelfHostedGetOrganizationLicenseQuery : BaseIdentityClientService, ISelfHostedGetOrganizationLicenseQuery
public interface IGetSelfHostedOrganizationLicenseQuery
{
Task<OrganizationLicense> GetLicenseAsync(Organization organization, OrganizationConnection billingSyncConnection);
}
public class GetSelfHostedOrganizationLicenseQuery : BaseIdentityClientService, IGetSelfHostedOrganizationLicenseQuery
{
private readonly IGlobalSettings _globalSettings;
public SelfHostedGetOrganizationLicenseQuery(IHttpClientFactory httpFactory, IGlobalSettings globalSettings, ILogger<SelfHostedGetOrganizationLicenseQuery> logger, ICurrentContext currentContext)
public GetSelfHostedOrganizationLicenseQuery(IHttpClientFactory httpFactory, IGlobalSettings globalSettings, ILogger<GetSelfHostedOrganizationLicenseQuery> logger, ICurrentContext currentContext)
: base(
httpFactory,
globalSettings.Installation.ApiUri,

4
src/Core/Billing/Repositories/IOrganizationInstallationRepository.cs → src/Core/Billing/Organizations/Repositories/IOrganizationInstallationRepository.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
using Bit.Core.Billing.Entities;
using Bit.Core.Billing.Organizations.Entities;
using Bit.Core.Repositories;
namespace Bit.Core.Billing.Repositories;
namespace Bit.Core.Billing.Organizations.Repositories;
public interface IOrganizationInstallationRepository : IRepository<OrganizationInstallation, Guid>
{

6
src/Core/Billing/Services/IOrganizationBillingService.cs → src/Core/Billing/Organizations/Services/IOrganizationBillingService.cs

@ -1,11 +1,9 @@ @@ -1,11 +1,9 @@
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Models.Sales;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Tax.Models;
namespace Bit.Core.Billing.Services;
#nullable enable
namespace Bit.Core.Billing.Organizations.Services;
public interface IOrganizationBillingService
{

7
src/Core/Billing/Services/Implementations/OrganizationBillingService.cs → src/Core/Billing/Organizations/Services/OrganizationBillingService.cs

@ -5,7 +5,9 @@ using Bit.Core.Billing.Enums; @@ -5,7 +5,9 @@ using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Extensions;
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Models.Sales;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Services;
using Bit.Core.Billing.Tax.Models;
using Bit.Core.Billing.Tax.Services;
using Bit.Core.Enums;
@ -16,14 +18,11 @@ using Bit.Core.Settings; @@ -16,14 +18,11 @@ using Bit.Core.Settings;
using Braintree;
using Microsoft.Extensions.Logging;
using Stripe;
using static Bit.Core.Billing.Utilities;
using Customer = Stripe.Customer;
using Subscription = Stripe.Subscription;
namespace Bit.Core.Billing.Services.Implementations;
#nullable enable
namespace Bit.Core.Billing.Organizations.Services;
public class OrganizationBillingService(
IBraintreeGateway braintreeGateway,

1
src/Core/Billing/Services/ILicensingService.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System.Security.Claims;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Models.Business;

1
src/Core/Billing/Services/Implementations/LicensingService.cs

@ -10,6 +10,7 @@ using Bit.Core.AdminConsole.Entities; @@ -10,6 +10,7 @@ using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Licenses.Models;
using Bit.Core.Billing.Licenses.Services;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Exceptions;
using Bit.Core.Models.Business;

1
src/Core/Billing/Services/NoopImplementations/NoopLicensingService.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System.Security.Claims;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Models.Business;
using Bit.Core.Settings;

4
src/Core/OrganizationFeatures/OrganizationSubscriptions/UpgradeOrganizationPlanCommand.cs

@ -8,9 +8,9 @@ using Bit.Core.AdminConsole.Repositories; @@ -8,9 +8,9 @@ using Bit.Core.AdminConsole.Repositories;
using Bit.Core.Auth.Enums;
using Bit.Core.Auth.Repositories;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models.Sales;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Services;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.Business;

2
src/Core/Services/Implementations/StripePaymentService.cs

@ -8,7 +8,7 @@ using Bit.Core.Billing.Constants; @@ -8,7 +8,7 @@ using Bit.Core.Billing.Constants;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Extensions;
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Tax.Models;
using Bit.Core.Billing.Tax.Requests;

4
src/Infrastructure.Dapper/Billing/Repositories/OrganizationInstallationRepository.cs

@ -2,8 +2,8 @@ @@ -2,8 +2,8 @@
#nullable disable
using System.Data;
using Bit.Core.Billing.Entities;
using Bit.Core.Billing.Repositories;
using Bit.Core.Billing.Organizations.Entities;
using Bit.Core.Billing.Organizations.Repositories;
using Bit.Core.Settings;
using Bit.Infrastructure.Dapper.Repositories;
using Dapper;

2
src/Infrastructure.Dapper/DapperServiceCollectionExtensions.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
using Bit.Core.AdminConsole.Repositories;
using Bit.Core.Auth.Repositories;
using Bit.Core.Billing.Organizations.Repositories;
using Bit.Core.Billing.Providers.Repositories;
using Bit.Core.Billing.Repositories;
using Bit.Core.Dirt.Reports.Repositories;
using Bit.Core.Dirt.Repositories;
using Bit.Core.KeyManagement.Repositories;

4
src/Infrastructure.EntityFramework/Billing/Models/OrganizationInstallation.cs

@ -7,7 +7,7 @@ using Bit.Infrastructure.EntityFramework.Platform; @@ -7,7 +7,7 @@ using Bit.Infrastructure.EntityFramework.Platform;
namespace Bit.Infrastructure.EntityFramework.Billing.Models;
public class OrganizationInstallation : Core.Billing.Entities.OrganizationInstallation
public class OrganizationInstallation : Core.Billing.Organizations.Entities.OrganizationInstallation
{
public virtual Installation Installation { get; set; }
public virtual Organization Organization { get; set; }
@ -17,6 +17,6 @@ public class OrganizationInstallationMapperProfile : Profile @@ -17,6 +17,6 @@ public class OrganizationInstallationMapperProfile : Profile
{
public OrganizationInstallationMapperProfile()
{
CreateMap<Core.Billing.Entities.OrganizationInstallation, OrganizationInstallation>().ReverseMap();
CreateMap<Core.Billing.Organizations.Entities.OrganizationInstallation, OrganizationInstallation>().ReverseMap();
}
}

4
src/Infrastructure.EntityFramework/Billing/Repositories/OrganizationInstallationRepository.cs

@ -2,8 +2,8 @@ @@ -2,8 +2,8 @@
#nullable disable
using AutoMapper;
using Bit.Core.Billing.Entities;
using Bit.Core.Billing.Repositories;
using Bit.Core.Billing.Organizations.Entities;
using Bit.Core.Billing.Organizations.Repositories;
using Bit.Infrastructure.EntityFramework.Repositories;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;

2
src/Infrastructure.EntityFramework/EntityFrameworkServiceCollectionExtensions.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
using Bit.Core.AdminConsole.Repositories;
using Bit.Core.Auth.Repositories;
using Bit.Core.Billing.Organizations.Repositories;
using Bit.Core.Billing.Providers.Repositories;
using Bit.Core.Billing.Repositories;
using Bit.Core.Dirt.Reports.Repositories;
using Bit.Core.Dirt.Repositories;
using Bit.Core.Enums;

2
test/Api.Test/AdminConsole/Controllers/OrganizationConnectionsControllerTests.cs

@ -4,7 +4,7 @@ using Bit.Api.AdminConsole.Models.Request.Organizations; @@ -4,7 +4,7 @@ using Bit.Api.AdminConsole.Models.Request.Organizations;
using Bit.Api.AdminConsole.Models.Response.Organizations;
using Bit.Core.AdminConsole.Models.OrganizationConnectionConfigs;
using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationConnections.Interfaces;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Services;
using Bit.Core.Context;
using Bit.Core.Entities;

3
test/Api.Test/Billing/Controllers/OrganizationBillingControllerTests.cs

@ -2,7 +2,8 @@ @@ -2,7 +2,8 @@
using Bit.Api.Billing.Models.Responses;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models;
using Bit.Core.Billing.Services;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Context;
using Bit.Core.Repositories;
using Bit.Core.Services;

10
test/Api.Test/Billing/Controllers/OrganizationsControllerTests.cs

@ -10,9 +10,9 @@ using Bit.Core.Auth.Enums; @@ -10,9 +10,9 @@ using Bit.Core.Auth.Enums;
using Bit.Core.Auth.Models.Data;
using Bit.Core.Auth.Repositories;
using Bit.Core.Auth.Services;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.Interfaces;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Billing.Organizations.Repositories;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Repositories;
using Bit.Core.Billing.Services;
using Bit.Core.Context;
using Bit.Core.Entities;
@ -40,7 +40,7 @@ public class OrganizationsControllerTests : IDisposable @@ -40,7 +40,7 @@ public class OrganizationsControllerTests : IDisposable
private readonly IPaymentService _paymentService;
private readonly ISsoConfigRepository _ssoConfigRepository;
private readonly IUserService _userService;
private readonly ICloudGetOrganizationLicenseQuery _cloudGetOrganizationLicenseQuery;
private readonly IGetCloudOrganizationLicenseQuery _getCloudOrganizationLicenseQuery;
private readonly ILicensingService _licensingService;
private readonly IUpdateSecretsManagerSubscriptionCommand _updateSecretsManagerSubscriptionCommand;
private readonly IUpgradeOrganizationPlanCommand _upgradeOrganizationPlanCommand;
@ -64,7 +64,7 @@ public class OrganizationsControllerTests : IDisposable @@ -64,7 +64,7 @@ public class OrganizationsControllerTests : IDisposable
_ssoConfigRepository = Substitute.For<ISsoConfigRepository>();
Substitute.For<ISsoConfigService>();
_userService = Substitute.For<IUserService>();
_cloudGetOrganizationLicenseQuery = Substitute.For<ICloudGetOrganizationLicenseQuery>();
_getCloudOrganizationLicenseQuery = Substitute.For<IGetCloudOrganizationLicenseQuery>();
_licensingService = Substitute.For<ILicensingService>();
_updateSecretsManagerSubscriptionCommand = Substitute.For<IUpdateSecretsManagerSubscriptionCommand>();
_upgradeOrganizationPlanCommand = Substitute.For<IUpgradeOrganizationPlanCommand>();
@ -81,7 +81,7 @@ public class OrganizationsControllerTests : IDisposable @@ -81,7 +81,7 @@ public class OrganizationsControllerTests : IDisposable
_userService,
_paymentService,
_currentContext,
_cloudGetOrganizationLicenseQuery,
_getCloudOrganizationLicenseQuery,
_globalSettings,
_licensingService,
_updateSecretsManagerSubscriptionCommand,

2
test/Api.Test/Utilities/ApiHelpersTests.cs

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
using System.Text;
using Bit.Api.Utilities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Microsoft.AspNetCore.Http;
using NSubstitute;
using Xunit;

2
test/Core.Test/AdminConsole/Models/Data/SelfHostedOrganizationDetailsTests.cs

@ -5,7 +5,7 @@ using Bit.Core.Auth.Entities; @@ -5,7 +5,7 @@ using Bit.Core.Auth.Entities;
using Bit.Core.Auth.Enums;
using Bit.Core.Auth.Models.Data;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Entities;
using Bit.Core.Enums;
using Bit.Core.Models.Data.Organizations;

4
test/Core.Test/AdminConsole/OrganizationFeatures/Organizations/OrganizationSignUp/CloudOrganizationSignUpCommandTests.cs

@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
using Bit.Core.AdminConsole.Entities;
using Bit.Core.AdminConsole.OrganizationFeatures.Organizations;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models.Sales;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Services;
using Bit.Core.Entities;
using Bit.Core.Enums;
using Bit.Core.Exceptions;

2
test/Core.Test/Billing/AutoFixture/OrganizationLicenseCustomization.cs

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
using AutoFixture;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Test.Common.AutoFixture.Attributes;
namespace Bit.Core.Test.Billing.AutoFixture;

2
test/Core.Test/Billing/Models/Business/OrganizationLicenseFileFixtures.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
using System.Text.Json;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Enums;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Enums;
namespace Bit.Core.Test.Billing.Models.Business;

2
test/Core.Test/Billing/Models/Business/OrganizationLicenseTests.cs

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
using System.Security.Claims;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Settings;
using Bit.Test.Common.AutoFixture.Attributes;
using NSubstitute;

14
test/Core.Test/Billing/OrganizationFeatures/OrganizationLicenses/CloudGetOrganizationLicenseQueryTests.cs

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
using Bit.Core.AdminConsole.Entities.Provider;
using Bit.Core.AdminConsole.Repositories;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Billing.Services;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
@ -23,11 +23,11 @@ namespace Bit.Core.Test.Billing.OrganizationFeatures.OrganizationLicenses; @@ -23,11 +23,11 @@ namespace Bit.Core.Test.Billing.OrganizationFeatures.OrganizationLicenses;
[SubscriptionInfoCustomize]
[OrganizationLicenseCustomize]
[SutProviderCustomize]
public class CloudGetOrganizationLicenseQueryTests
public class GetCloudOrganizationLicenseQueryTests
{
[Theory]
[BitAutoData]
public async Task GetLicenseAsync_InvalidInstallationId_Throws(SutProvider<CloudGetOrganizationLicenseQuery> sutProvider,
public async Task GetLicenseAsync_InvalidInstallationId_Throws(SutProvider<GetCloudOrganizationLicenseQuery> sutProvider,
Organization organization, Guid installationId, int version)
{
sutProvider.GetDependency<IInstallationRepository>().GetByIdAsync(installationId).ReturnsNull();
@ -38,7 +38,7 @@ public class CloudGetOrganizationLicenseQueryTests @@ -38,7 +38,7 @@ public class CloudGetOrganizationLicenseQueryTests
[Theory]
[BitAutoData]
public async Task GetLicenseAsync_DisabledOrganization_Throws(SutProvider<CloudGetOrganizationLicenseQuery> sutProvider,
public async Task GetLicenseAsync_DisabledOrganization_Throws(SutProvider<GetCloudOrganizationLicenseQuery> sutProvider,
Organization organization, Guid installationId, Installation installation)
{
installation.Enabled = false;
@ -51,7 +51,7 @@ public class CloudGetOrganizationLicenseQueryTests @@ -51,7 +51,7 @@ public class CloudGetOrganizationLicenseQueryTests
[Theory]
[BitAutoData]
public async Task GetLicenseAsync_CreatesAndReturns(SutProvider<CloudGetOrganizationLicenseQuery> sutProvider,
public async Task GetLicenseAsync_CreatesAndReturns(SutProvider<GetCloudOrganizationLicenseQuery> sutProvider,
Organization organization, Guid installationId, Installation installation, SubscriptionInfo subInfo,
byte[] licenseSignature)
{
@ -71,7 +71,7 @@ public class CloudGetOrganizationLicenseQueryTests @@ -71,7 +71,7 @@ public class CloudGetOrganizationLicenseQueryTests
[Theory]
[BitAutoData]
public async Task GetLicenseAsync_WhenFeatureFlagEnabled_CreatesToken(SutProvider<CloudGetOrganizationLicenseQuery> sutProvider,
public async Task GetLicenseAsync_WhenFeatureFlagEnabled_CreatesToken(SutProvider<GetCloudOrganizationLicenseQuery> sutProvider,
Organization organization, Guid installationId, Installation installation, SubscriptionInfo subInfo,
byte[] licenseSignature, string token)
{
@ -90,7 +90,7 @@ public class CloudGetOrganizationLicenseQueryTests @@ -90,7 +90,7 @@ public class CloudGetOrganizationLicenseQueryTests
[Theory]
[BitAutoData]
public async Task GetLicenseAsync_MSPManagedOrganization_UsesProviderSubscription(SutProvider<CloudGetOrganizationLicenseQuery> sutProvider,
public async Task GetLicenseAsync_MSPManagedOrganization_UsesProviderSubscription(SutProvider<GetCloudOrganizationLicenseQuery> sutProvider,
Organization organization, Guid installationId, Installation installation, SubscriptionInfo subInfo,
byte[] licenseSignature, Provider provider)
{

10
test/Core.Test/Billing/OrganizationFeatures/OrganizationLicenses/SelfHostedGetOrganizationLicenseQueryTests.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
using System.Text.Json;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses.SelfHosted;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Organizations.Queries;
using Bit.Core.Entities;
using Bit.Core.Exceptions;
using Bit.Core.Models.OrganizationConnectionConfigs;
@ -15,12 +15,12 @@ using Xunit; @@ -15,12 +15,12 @@ using Xunit;
namespace Bit.Core.Test.Billing.OrganizationFeatures.OrganizationLicenses;
[SutProviderCustomize]
public class SelfHostedGetOrganizationLicenseQueryTests
public class GetSelfHostedOrganizationLicenseQueryTests
{
private static SutProvider<SelfHostedGetOrganizationLicenseQuery> GetSutProvider(BillingSyncConfig config,
private static SutProvider<GetSelfHostedOrganizationLicenseQuery> GetSutProvider(BillingSyncConfig config,
string apiResponse = null)
{
return new SutProvider<SelfHostedGetOrganizationLicenseQuery>()
return new SutProvider<GetSelfHostedOrganizationLicenseQuery>()
.ConfigureBaseIdentityClientService($"licenses/organization/{config.CloudOrganizationId}",
HttpMethod.Get, apiResponse: apiResponse);
}

4
test/Core.Test/Billing/OrganizationFeatures/OrganizationLicenses/UpdateOrganizationLicenseCommandTests.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
using System.Security.Claims;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.OrganizationFeatures.OrganizationLicenses;
using Bit.Core.Billing.Organizations.Commands;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Services;
using Bit.Core.Enums;
using Bit.Core.Models.Data.Organizations;

2
test/Core.Test/Billing/Services/LicensingServiceTests.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
using System.Text.Json;
using AutoFixture;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Models.Business;
using Bit.Core.Billing.Organizations.Models;
using Bit.Core.Billing.Services;
using Bit.Core.Settings;
using Bit.Core.Test.Billing.AutoFixture;

2
test/Core.Test/Billing/Services/OrganizationBillingServiceTests.cs

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
using Bit.Core.AdminConsole.Entities;
using Bit.Core.Billing.Constants;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Billing.Pricing;
using Bit.Core.Billing.Services;
using Bit.Core.Billing.Services.Implementations;
using Bit.Core.Models.Data.Organizations.OrganizationUsers;
using Bit.Core.Repositories;
using Bit.Core.Utilities;

1
test/IntegrationTestCommon/Factories/WebApplicationFactoryBase.cs

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
using AspNetCoreRateLimit;
using Bit.Core.Billing.Organizations.Services;
using Bit.Core.Billing.Services;
using Bit.Core.Platform.Push;
using Bit.Core.Platform.Push.Internal;

Loading…
Cancel
Save