Exemplo n.º 1
0
        public async Task CreateConnection_BillingSyncType_InvalidLicense_Throws(OrganizationConnectionRequestModel model,
                                                                                 BillingSyncConfig config, Guid cloudOrgId, OrganizationLicense organizationLicense,
                                                                                 SutProvider <OrganizationConnectionsController> sutProvider)
        {
            model.Type             = OrganizationConnectionType.CloudBillingSync;
            organizationLicense.Id = cloudOrgId;

            model.Config = JsonDocumentFromObject(config);
            var typedModel = new OrganizationConnectionRequestModel <BillingSyncConfig>(model);

            typedModel.ParsedConfig.CloudOrganizationId = cloudOrgId;

            sutProvider.GetDependency <ICurrentContext>()
            .OrganizationOwner(model.OrganizationId)
            .Returns(true);

            sutProvider.GetDependency <ILicensingService>()
            .ReadOrganizationLicenseAsync(model.OrganizationId)
            .Returns(organizationLicense);

            sutProvider.GetDependency <ILicensingService>()
            .VerifyLicense(organizationLicense)
            .Returns(false);

            await Assert.ThrowsAsync <BadRequestException>(async() => await sutProvider.Sut.CreateConnection(model));
        }
Exemplo n.º 2
0
        public async Task CreateConnection_Success(OrganizationConnectionRequestModel model, BillingSyncConfig config,
                                                   Guid cloudOrgId, OrganizationLicense organizationLicense, SutProvider <OrganizationConnectionsController> sutProvider)
        {
            organizationLicense.Id = cloudOrgId;

            model.Config = JsonDocumentFromObject(config);
            var typedModel = new OrganizationConnectionRequestModel <BillingSyncConfig>(model);

            typedModel.ParsedConfig.CloudOrganizationId = cloudOrgId;

            sutProvider.GetDependency <IGlobalSettings>().SelfHosted.Returns(true);
            sutProvider.GetDependency <ICreateOrganizationConnectionCommand>().CreateAsync <BillingSyncConfig>(default)
Exemplo n.º 3
0
        public async Task CreateConnection_OnlyOneConnectionOfEachType(OrganizationConnectionType type,
                                                                       OrganizationConnectionRequestModel model, BillingSyncConfig config, Guid existingEntityId,
                                                                       SutProvider <OrganizationConnectionsController> sutProvider)
        {
            model.Type   = type;
            model.Config = JsonDocumentFromObject(config);
            var typedModel = new OrganizationConnectionRequestModel <BillingSyncConfig>(model);
            var existing   = typedModel.ToData(existingEntityId).ToEntity();

            sutProvider.GetDependency <ICurrentContext>().OrganizationOwner(model.OrganizationId).Returns(true);

            sutProvider.GetDependency <IOrganizationConnectionRepository>().GetByOrganizationIdTypeAsync(model.OrganizationId, type).Returns(new[] { existing });

            var exception = await Assert.ThrowsAsync <BadRequestException>(() => sutProvider.Sut.CreateConnection(model));

            Assert.Contains($"The requested organization already has a connection of type {model.Type}. Only one of each connection type may exist per organization.", exception.Message);
        }
        public async Task CreateConnection_Success(OrganizationConnectionRequestModel model, BillingSyncConfig config,
                                                   Guid cloudOrgId, SutProvider <OrganizationConnectionsController> sutProvider)
        {
            model.Config = JsonDocumentFromObject(config);
            var typedModel = new OrganizationConnectionRequestModel <BillingSyncConfig>(model);

            typedModel.ParsedConfig.CloudOrganizationId = cloudOrgId;

            sutProvider.GetDependency <ICreateOrganizationConnectionCommand>().CreateAsync <BillingSyncConfig>(default)