Skip to content

Commit

Permalink
Added fix and test to make sure project charts install
Browse files Browse the repository at this point in the history
  • Loading branch information
nuwang committed Jun 10, 2020
1 parent 20e3ffb commit 5ecb440
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
2 changes: 1 addition & 1 deletion cloudman/projman/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ def create(self, template_name, release_name=None,
'access_path': f"/{self.project.namespace}",
}})
return self._to_proj_chart(
template.install(self.project.name, release_name,
template.install(self.project.namespace, release_name,
values, context=context))

def update(self, chart, values):
Expand Down
17 changes: 13 additions & 4 deletions cloudman/projman/tests/test_project_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,9 +185,9 @@ def setUp(self):
with open(self.EXPECTED_CHART_DATA) as f:
self.EXPECTED_CHART_VALUES = yaml.safe_load(f)

def _create_project(self):
def _create_project(self, project_data=None):
url = reverse('projman:projects-list')
response = self.client.post(url, self.PROJECT_DATA, format='json')
response = self.client.post(url, project_data or self.PROJECT_DATA, format='json')
self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)
return response.data['id']

Expand All @@ -202,11 +202,11 @@ def _delete_project(self, project_id):
url = reverse('projman:projects-detail', args=[project_id])
return self.client.delete(url)

def _list_project_chart(self, project_id):
def _list_project_chart(self, project_id, project_data=None):
url = reverse('projman:chart-list', args=[project_id])
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK, response.data)
self.assertDictContainsSubset(self.PROJECT_DATA, response.data['results'][1]['project'])
self.assertDictContainsSubset(project_data or self.PROJECT_DATA, response.data['results'][1]['project'])
# Flatten dicts because assertDictContainsSubset doesn't handle nested dicts
response_chart = hm_helpers.flatten_dict(response.data['results'][1])
expected_chart = hm_helpers.flatten_dict(self.CHART_DATA)
Expand Down Expand Up @@ -382,3 +382,12 @@ def test_chart_rollback_unauthorized(self):
User.objects.get(username='projadmin'))
response = self._delete_project(project_id)
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT, response.data)

def test_install_into_project_name_special_chars(self):
PROJECT_DATA = {
"name": "A non RFC1123 compli'ant name"
}
project_id = self._create_project(project_data=PROJECT_DATA)
# create the project chart
response = self._create_project_chart(project_id)
self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data)

0 comments on commit 5ecb440

Please sign in to comment.