Skip to content

Commit

Permalink
version: bump to 0.6.4
Browse files Browse the repository at this point in the history
  • Loading branch information
ergo committed Apr 19, 2016
1 parent d207bbf commit 278dfbe
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 13 deletions.
6 changes: 6 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Changelog
=========

2016-04-19
* Release: 0.6.4
* fixed a bug with migrations fail to work on mysql 5.7.x
* ensure assigned permission names are all lowercase on python level
(in addition to postgresql checks)

2016-04-19
* Release: 0.6.3
* extended functionality of `populate_obj` function of Base class
Expand Down
2 changes: 1 addition & 1 deletion ziggurat_foundations/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = {'major': 0, 'minor': 6, 'patch': 3}
__version__ = {'major': 0, 'minor': 6, 'patch': 4}


class ModelProxy(object):
Expand Down
10 changes: 8 additions & 2 deletions ziggurat_foundations/models/group_permission.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declared_attr
from .base import BaseModel
from sqlalchemy.orm import validates
from .base import BaseModel, get_db_session
from .services.group_permission import GroupPermissionService
from .base import get_db_session


class GroupPermissionMixin(BaseModel):
Expand All @@ -26,6 +26,12 @@ def group_id(self):
def perm_name(self):
return sa.Column(sa.Unicode(30), primary_key=True)

@validates('perm_name')
def validate_perm_name(self, key, data):
if data != data.lower():
raise AssertionError("permission names should be lowercase")
return data

def __repr__(self):
return '<GroupPermission: %s>' % self.perm_name

Expand Down
9 changes: 9 additions & 0 deletions ziggurat_foundations/models/group_resource_permission.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.orm import validates

from .base import BaseModel


Expand Down Expand Up @@ -30,6 +32,13 @@ def resource_id(self):
def perm_name(self):
return sa.Column(sa.Unicode(50), primary_key=True)


@validates('perm_name')
def validate_perm_name(self, key, data):
if data != data.lower():
raise AssertionError("permission names should be lowercase")
return data

def __repr__(self):
return '<GroupResourcePermission: g:%s, %s, r:%s>' % (self.group_id,
self.perm_name,
Expand Down
11 changes: 9 additions & 2 deletions ziggurat_foundations/models/user_permission.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declared_attr
from .base import BaseModel
from sqlalchemy.orm import validates
from .base import BaseModel, get_db_session
from .services.user_permission import UserPermissionService
from .base import get_db_session


class UserPermissionMixin(BaseModel):
__table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}
Expand All @@ -23,6 +24,12 @@ def user_id(self):
def perm_name(self):
return sa.Column(sa.Unicode(30), primary_key=True)

@validates('perm_name')
def validate_perm_name(self, key, data):
if data != data.lower():
raise AssertionError("permission names should be lowercase")
return data

def __repr__(self):
return '<UserPermission: %s>' % self.perm_name

Expand Down
11 changes: 9 additions & 2 deletions ziggurat_foundations/models/user_resource_permission.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declared_attr
from .base import BaseModel
from sqlalchemy.orm import validates
from .base import BaseModel, get_db_session
from .services.user_resource_permission import UserResourcePermissionService
from .base import get_db_session


class UserResourcePermissionMixin(BaseModel):
__table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}
Expand Down Expand Up @@ -33,6 +34,12 @@ def resource_id(self):
def perm_name(self):
return sa.Column(sa.Unicode(50), primary_key=True)

@validates('perm_name')
def validate_perm_name(self, key, data):
if data != data.lower():
raise AssertionError("permission names should be lowercase")
return data

def __repr__(self):
return '<UserResourcePermission: %s, %s, %s>' % (self.user_id,
self.perm_name,
Expand Down
12 changes: 6 additions & 6 deletions ziggurat_foundations/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -721,7 +721,7 @@ def test_resources_with_wrong_perm(self):
created_user = self._addUser()
resource = self._addResource(1, u'test_resource')
permission = UserResourcePermission(
perm_name=u'test_perm_BAD',
perm_name=u'test_perm_bad',
user_id=created_user.id,
resource_id=resource.resource_id
)
Expand Down Expand Up @@ -779,7 +779,7 @@ def test_resources_with_wrong_group_permission(self):
group = self._addGroup()
group.users.append(created_user)
group_permission = GroupResourcePermission(
perm_name=u'test_perm_BAD',
perm_name=u'test_perm_bad',
group_id=group.id,
resource_id=resource.resource_id
)
Expand Down Expand Up @@ -1143,7 +1143,7 @@ def test_resource_groups_for_any_perm_just_group_perms_limited_empty_group(self)

group3 = self._addGroup('Empty group')
perm3 = GroupResourcePermission(
perm_name='group_permX',
perm_name='group_permx',
resource_id=self.resource.resource_id
)
group3.resource_permissions.append(perm3)
Expand All @@ -1154,7 +1154,7 @@ def test_resource_groups_for_any_perm_just_group_perms_limited_empty_group(self)
PermissionTuple(None, u'group_perm', 'group', self.group, self.resource, False, True),
PermissionTuple(None, u'group_perm2', 'group', self.group, self.resource, False, True),
PermissionTuple(None, u'group_perm', 'group', self.group2, self.resource, False, True),
PermissionTuple(None, u'group_permX', 'group', group3, self.resource, False, True)
PermissionTuple(None, u'group_permx', 'group', group3, self.resource, False, True)
]

check_one_in_other(perms, second)
Expand All @@ -1174,7 +1174,7 @@ def test_resource_users_for_any_perm_limited_group_perms_empty_group(self):
self.group.users.append(user7)
group3 = self._addGroup('Empty group')
perm3 = GroupResourcePermission(
perm_name='group_permX',
perm_name='group_permx',
resource_id=self.resource.resource_id
)
group3.resource_permissions.append(perm3)
Expand All @@ -1188,7 +1188,7 @@ def test_resource_users_for_any_perm_limited_group_perms_empty_group(self):
PermissionTuple(self.user, u'test_perm2', 'user', None, self.resource, False, True),
PermissionTuple(self.user, u'foo_perm', 'user', None, self.resource, False, True),
PermissionTuple(None, u'group_perm', 'group', self.group2, self.resource, False, True),
PermissionTuple(None, u'group_permX', 'group', group3, self.resource, False, True),
PermissionTuple(None, u'group_permx', 'group', group3, self.resource, False, True),
]

check_one_in_other(perms, second)
Expand Down

0 comments on commit 278dfbe

Please sign in to comment.