* Add PlanSponsorshipType to static store
* Add sponsorship type to token and creates sponsorship
* PascalCase properties
* Require sponsorship for remove
* Create subscription sponsorship helper class
* Handle Sponsored subscription changes
* Add sponsorship id to subscription metadata
* Make sponsoring references nullable
This state indicates that a sponsorship has lapsed, but was not able to
be reverted for billing reasons
* WIP: Validate and remove subscriptions
* Update sponsorships on organization and org user delete
* Add friendly name to organization sponsorship
BitAutoDataAttribute is used to mark a Theory as autopopulating
parameters.
Extract common attribute methods to to a helper class. Cannot
inherit a common base, since both require inheriting from different
Xunit base classes to work.
https://github.com/AutoFixture/AutoFixture/pull/1164 shows that only
the first test case is pulled for this attribute.
This is a workaround that populates the provided parameters, left to
right, using AutoFixture to populate any remaining.
Controller properties have all kinds of validations in the background.
In general, we don't user properties on our Controllers, so the easiest
way to allow for Autofixture-based testing of our Controllers is to just
omit setting all properties on them.
* Added unit tests for StrictEmailAddressListAttribute in Bit.Core.Utilities
* Fixed list format; added a null test on StrictEmailAddressListAttribute in Utilities
* fixing release workflow app service deploys
* adding the release branch as a conditional to the docker-stub build
* Add in missing 'if' statement for 'release' branch in Docker Stub step
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
* Check canScale when scaling for sso
* PR review
Use AutoAddSeats to add seats in a consistent way.
This requires moving user check out of that method.
* User logic moved out of method
* Adding a contraint around the new release branch strategy
* Adding a constraint on what CI code can be used to release the release branch
* updating the self host docker image building and releasing
* removing master branch release ci code execution
* updating some verbiage