project -> application everywhere

This commit is contained in:
dandds
2019-01-10 16:38:00 -05:00
parent 9ad3c45200
commit 3fc323d785
67 changed files with 644 additions and 609 deletions

View File

@@ -61,7 +61,7 @@ def test_non_owner_user_with_no_workspaces_redirected_to_requests(client, user_s
assert "/requests" in response.location
def test_non_owner_user_with_one_workspace_redirected_to_workspace_projects(
def test_non_owner_user_with_one_workspace_redirected_to_workspace_applications(
client, user_session
):
user = UserFactory.create()
@@ -71,7 +71,7 @@ def test_non_owner_user_with_one_workspace_redirected_to_workspace_projects(
user_session(user)
response = client.get("/home", follow_redirects=False)
assert "/workspaces/{}/projects".format(workspace.id) in response.location
assert "/workspaces/{}/applications".format(workspace.id) in response.location
def test_non_owner_user_with_mulitple_workspaces_redirected_to_workspaces(

View File

@@ -6,10 +6,10 @@ from tests.factories import (
WorkspaceRoleFactory,
EnvironmentRoleFactory,
EnvironmentFactory,
ProjectFactory,
ApplicationFactory,
)
from atst.domain.projects import Projects
from atst.domain.applications import Applications
from atst.domain.workspaces import Workspaces
from atst.domain.roles import Roles
from atst.models.workspace_role import Status as WorkspaceRoleStatus
@@ -18,7 +18,7 @@ from atst.models.workspace_role import Status as WorkspaceRoleStatus
def test_user_with_permission_has_budget_report_link(client, user_session):
workspace = WorkspaceFactory.create()
user_session(workspace.owner)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/reports"'.format(workspace.id).encode() in response.data
)
@@ -31,7 +31,7 @@ def test_user_without_permission_has_no_budget_report_link(client, user_session)
user, workspace, "developer", status=WorkspaceRoleStatus.ACTIVE
)
user_session(user)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/reports"'.format(workspace.id).encode()
not in response.data
@@ -50,20 +50,20 @@ def test_user_with_permission_has_activity_log_link(client, user_session):
)
user_session(workspace.owner)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/activity"'.format(workspace.id).encode() in response.data
)
# logs out previous user before creating a new session
user_session(admin)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/activity"'.format(workspace.id).encode() in response.data
)
user_session(ccpo)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/activity"'.format(workspace.id).encode() in response.data
)
@@ -80,116 +80,119 @@ def test_user_without_permission_has_no_activity_log_link(client, user_session):
)
user_session(developer)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/activity"'.format(workspace.id).encode()
not in response.data
)
def test_user_with_permission_has_add_project_link(client, user_session):
def test_user_with_permission_has_add_application_link(client, user_session):
workspace = WorkspaceFactory.create()
user_session(workspace.owner)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/projects/new"'.format(workspace.id).encode()
'href="/workspaces/{}/applications/new"'.format(workspace.id).encode()
in response.data
)
def test_user_without_permission_has_no_add_project_link(client, user_session):
def test_user_without_permission_has_no_add_application_link(client, user_session):
user = UserFactory.create()
workspace = WorkspaceFactory.create()
Workspaces._create_workspace_role(user, workspace, "developer")
user_session(user)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert (
'href="/workspaces/{}/projects/new"'.format(workspace.id).encode()
'href="/workspaces/{}/applications/new"'.format(workspace.id).encode()
not in response.data
)
def test_view_edit_project(client, user_session):
def test_view_edit_application(client, user_session):
workspace = WorkspaceFactory.create()
project = Projects.create(
application = Applications.create(
workspace.owner,
workspace,
"Snazzy Project",
"A new project for me and my friends",
"Snazzy Application",
"A new application for me and my friends",
{"env1", "env2"},
)
user_session(workspace.owner)
response = client.get(
"/workspaces/{}/projects/{}/edit".format(workspace.id, project.id)
"/workspaces/{}/applications/{}/edit".format(workspace.id, application.id)
)
assert response.status_code == 200
def test_user_with_permission_can_update_project(client, user_session):
def test_user_with_permission_can_update_application(client, user_session):
owner = UserFactory.create()
workspace = WorkspaceFactory.create(
owner=owner,
projects=[
applications=[
{
"name": "Awesome Project",
"name": "Awesome Application",
"description": "It's really awesome!",
"environments": [{"name": "dev"}, {"name": "prod"}],
}
],
)
project = workspace.projects[0]
application = workspace.applications[0]
user_session(owner)
response = client.post(
url_for(
"workspaces.update_project",
"workspaces.update_application",
workspace_id=workspace.id,
project_id=project.id,
application_id=application.id,
),
data={"name": "Really Cool Project", "description": "A very cool project."},
data={
"name": "Really Cool Application",
"description": "A very cool application.",
},
follow_redirects=True,
)
assert response.status_code == 200
assert project.name == "Really Cool Project"
assert project.description == "A very cool project."
assert application.name == "Really Cool Application"
assert application.description == "A very cool application."
def test_user_without_permission_cannot_update_project(client, user_session):
def test_user_without_permission_cannot_update_application(client, user_session):
dev = UserFactory.create()
owner = UserFactory.create()
workspace = WorkspaceFactory.create(
owner=owner,
members=[{"user": dev, "role_name": "developer"}],
projects=[
applications=[
{
"name": "Great Project",
"name": "Great Application",
"description": "Cool stuff happening here!",
"environments": [{"name": "dev"}, {"name": "prod"}],
}
],
)
project = workspace.projects[0]
application = workspace.applications[0]
user_session(dev)
response = client.post(
url_for(
"workspaces.update_project",
"workspaces.update_application",
workspace_id=workspace.id,
project_id=project.id,
application_id=application.id,
),
data={"name": "New Name", "description": "A new description."},
follow_redirects=True,
)
assert response.status_code == 404
assert project.name == "Great Project"
assert project.description == "Cool stuff happening here!"
assert application.name == "Great Application"
assert application.description == "Cool stuff happening here!"
def create_environment(user):
workspace = WorkspaceFactory.create()
workspace_role = WorkspaceRoleFactory.create(workspace=workspace, user=user)
project = ProjectFactory.create(workspace=workspace)
return EnvironmentFactory.create(project=project, name="new environment!")
application = ApplicationFactory.create(workspace=workspace)
return EnvironmentFactory.create(application=application, name="new environment!")
def test_environment_access_with_env_role(client, user_session):

View File

@@ -99,7 +99,7 @@ def test_user_who_has_not_accepted_workspace_invite_cannot_view(client, user_ses
# user tries to view workspace before accepting invitation
user_session(user)
response = client.get("/workspaces/{}/projects".format(workspace.id))
response = client.get("/workspaces/{}/applications".format(workspace.id))
assert response.status_code == 404

View File

@@ -8,7 +8,7 @@ from tests.factories import (
)
from atst.domain.workspaces import Workspaces
from atst.domain.workspace_roles import WorkspaceRoles
from atst.domain.projects import Projects
from atst.domain.applications import Applications
from atst.domain.environments import Environments
from atst.domain.environment_roles import EnvironmentRoles
from atst.queue import queue
@@ -144,16 +144,16 @@ def test_update_member_environment_role(client, user_session):
workspace = WorkspaceFactory.create()
user = UserFactory.create()
member = WorkspaceRoles.add(user, workspace.id, "developer")
project = Projects.create(
application = Applications.create(
workspace.owner,
workspace,
"Snazzy Project",
"A new project for me and my friends",
"Snazzy Application",
"A new application for me and my friends",
{"env1", "env2"},
)
env1_id = project.environments[0].id
env2_id = project.environments[1].id
for env in project.environments:
env1_id = application.environments[0].id
env2_id = application.environments[1].id
for env in application.environments:
Environments.add_member(env, user, "developer")
user_session(workspace.owner)
response = client.post(
@@ -178,15 +178,15 @@ def test_update_member_environment_role_with_no_data(client, user_session):
workspace = WorkspaceFactory.create()
user = UserFactory.create()
member = WorkspaceRoles.add(user, workspace.id, "developer")
project = Projects.create(
application = Applications.create(
workspace.owner,
workspace,
"Snazzy Project",
"A new project for me and my friends",
"Snazzy Application",
"A new application for me and my friends",
{"env1"},
)
env1_id = project.environments[0].id
for env in project.environments:
env1_id = application.environments[0].id
for env in application.environments:
Environments.add_member(env, user, "developer")
user_session(workspace.owner)
response = client.post(
@@ -207,11 +207,11 @@ def test_revoke_active_member_access(client, user_session):
member = WorkspaceRoleFactory.create(
workspace=workspace, user=user, status=WorkspaceRoleStatus.ACTIVE
)
Projects.create(
Applications.create(
workspace.owner,
workspace,
"Snazzy Project",
"A new project for me and my friends",
"Snazzy Application",
"A new application for me and my friends",
{"env1"},
)
user_session(workspace.owner)