Hook into cloud provider when creating an env/app
This commit is contained in:
parent
3dad43b1ee
commit
334babe5ff
@ -1,3 +1,4 @@
|
||||
from flask import current_app as app
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
|
||||
from atst.database import db
|
||||
@ -15,15 +16,14 @@ class Environments(object):
|
||||
@classmethod
|
||||
def create(cls, project, name):
|
||||
environment = Environment(project=project, name=name)
|
||||
db.session.add(environment)
|
||||
db.session.commit()
|
||||
environment.cloud_id = app.csp.cloud.create_application(environment.name)
|
||||
return environment
|
||||
|
||||
@classmethod
|
||||
def create_many(cls, project, names):
|
||||
environments = []
|
||||
for name in names:
|
||||
environment = Environment(project=project, name=name)
|
||||
environment = Environments.create(project, name)
|
||||
environments.append(environment)
|
||||
|
||||
db.session.add_all(environments)
|
||||
|
@ -2,7 +2,14 @@ from atst.domain.environments import Environments
|
||||
from atst.domain.environment_roles import EnvironmentRoles
|
||||
from atst.domain.workspace_roles import WorkspaceRoles
|
||||
|
||||
from tests.factories import UserFactory, WorkspaceFactory
|
||||
from tests.factories import ProjectFactory, UserFactory, WorkspaceFactory
|
||||
|
||||
|
||||
def test_create_environments():
|
||||
project = ProjectFactory.create()
|
||||
environments = Environments.create_many(project, ["Staging", "Production"])
|
||||
for env in environments:
|
||||
assert env.cloud_id is not None
|
||||
|
||||
|
||||
def test_update_environment_roles():
|
||||
|
Loading…
x
Reference in New Issue
Block a user