Fixed bug deleting repository
authorSybren A. Stüvel <sybren@stuvel.eu>
Fri, 10 Nov 2017 08:57:33 +0000 (09:57 +0100)
committerSybren A. Stüvel <sybren@stuvel.eu>
Fri, 10 Nov 2017 08:57:33 +0000 (09:57 +0100)
It left the list of users intact, causing desynchronisation issues when
creating a new repo.

svnman/__init__.py
tests/test_pillar_extension.py

index daefe19..3edeaed 100644 (file)
@@ -259,9 +259,9 @@ class SVNManExtension(PillarExtension):
         self.remote.delete_repo(repo_id)
         self._log.info('deleted Subversion repository %s', repo_id)
 
-        # Update the project to remove the repository ID.
+        # Update the project to remove the repository ID and assigned users.
         eprops.pop('repo_id', None)
-        eprops.pop('access', None)
+        eprops.pop('users', None)
         proj_utils.put_project(proj)
 
     def svnman_projects(self, *, projection: dict = None):
index 89e5665..36fa340 100644 (file)
@@ -116,7 +116,10 @@ class TestPillarExtension(AbstractSVNManTest):
         self.enter_app_context()
         self.login_api_as(24 * 'a', roles={'admin'})
 
-        self.project['extension_props'] = {EXTENSION_NAME: {'repo_id': 'existing-repo-id'}}
+        self.project['extension_props'] = {EXTENSION_NAME: {
+            'repo_id': 'existing-repo-id',
+            'users': {'5551234': {'set_pw': True, 'username': 'heyhey'}},
+        }}
         self.sdk_project = pillarsdk.Project(pillar.tests.mongo_to_sdk(self.project))
         put_project(self.project)