def test_extras_not_removed(self): # If a group already has some other permissions, running bootstrap # will leave them alone group = Group.objects.create(name='role') group.permissions.add(get_permission_by_name('shipments.existing_permission')) bootstrap_permissions() self.assertGroupHasPermission(group, 'shipments.do_something') self.assertGroupHasPermission(group, 'shipments.existing_permission')
def test_extras_not_removed(self): # If a group already has some other permissions, running bootstrap # will leave them alone group = Group.objects.create(name='role') group.permissions.add( get_permission_by_name('shipments.existing_permission')) bootstrap_permissions() self.assertGroupHasPermission(group, 'shipments.do_something') self.assertGroupHasPermission(group, 'shipments.existing_permission')
def test_implied_permissions(self): bootstrap_permissions() group1 = Group.objects.get(name='role1') self.assertGroupHasPermission(group1, 'shipments.do_something') self.assertGroupHasPermission(group1, 'shipments.something_else') self.assertGroupNoPermission(group1, 'shipments.a_third_thing') group2 = Group.objects.get(name='role2') self.assertGroupHasPermission(group2, 'shipments.do_something') self.assertGroupHasPermission(group2, 'shipments.something_else') self.assertGroupHasPermission(group2, 'shipments.a_third_thing')
def test_removing_permissions(self): # If we remove permissions from the ROLE_PERMISSIONS structure and run # bootstrap_permissions again, the removed permissions get removed from the group. # BIG CAVEAT though - we only do this for permissions that are granted elsewhere # in ROLE_PERMISSIONS, because we don't want to accidentally remove other permissions # that someone might have added manually. with mock.patch('accounts.utils.ROLE_PERMISSIONS', {'role1': ['shipments.do_something', 'shipments.something_else'], 'role2': ['shipments.something_else']}): bootstrap_permissions() group1 = Group.objects.get(name='role1') self.assertGroupHasPermission(group1, 'shipments.do_something') self.assertGroupHasPermission(group1, 'shipments.something_else') with mock.patch('accounts.utils.ROLE_PERMISSIONS', {'role1': ['shipments.do_something'], 'role2': ['shipments.something_else']}): bootstrap_permissions() self.assertGroupHasPermission(group1, 'shipments.do_something') self.assertGroupNoPermission(group1, 'shipments.something_else')
def setUpClass(cls): super(ReportTestMixin, cls).setUpClass() bootstrap_permissions() cls.partner1 = PartnerFactory() cls.partner2 = PartnerFactory() cls.partner3 = PartnerFactory() cls.donor1 = DonorFactory() cls.donor2 = DonorFactory() cls.donor3 = DonorFactory() cls.category1 = ItemCategoryFactory() cls.category2 = ItemCategoryFactory() cls.category3 = ItemCategoryFactory() cls.shipment1 = ShipmentFactory(partner=cls.partner1, shipment_date=cls.day_before, status=Shipment.STATUS_IN_TRANSIT) cls.package1 = PackageFactory(shipment=cls.shipment1, status=Shipment.STATUS_IN_TRANSIT) cls.item1 = PackageItemFactory(package=cls.package1, donor=cls.donor1, item_category=cls.category1) cls.shipment2 = ShipmentFactory(partner=cls.partner2, shipment_date=cls.important_date, status=Shipment.STATUS_RECEIVED) cls.package2 = PackageFactory(shipment=cls.shipment2, status=Shipment.STATUS_RECEIVED) cls.item2 = PackageItemFactory(package=cls.package2, donor=cls.donor2, item_category=cls.category2) cls.shipment3 = ShipmentFactory(partner=cls.partner3, shipment_date=cls.day_after, status=Shipment.STATUS_CANCELED) cls.package3 = PackageFactory(shipment=cls.shipment3, status=Shipment.STATUS_CANCELED) cls.item3 = PackageItemFactory(package=cls.package3, donor=cls.donor3, item_category=cls.category3)
def test_removing_permissions(self): # If we remove permissions from the ROLE_PERMISSIONS structure and run # bootstrap_permissions again, the removed permissions get removed from the group. # BIG CAVEAT though - we only do this for permissions that are granted elsewhere # in ROLE_PERMISSIONS, because we don't want to accidentally remove other permissions # that someone might have added manually. with mock.patch( 'accounts.utils.ROLE_PERMISSIONS', { 'role1': ['shipments.do_something', 'shipments.something_else'], 'role2': ['shipments.something_else'] }): bootstrap_permissions() group1 = Group.objects.get(name='role1') self.assertGroupHasPermission(group1, 'shipments.do_something') self.assertGroupHasPermission(group1, 'shipments.something_else') with mock.patch( 'accounts.utils.ROLE_PERMISSIONS', { 'role1': ['shipments.do_something'], 'role2': ['shipments.something_else'] }): bootstrap_permissions() self.assertGroupHasPermission(group1, 'shipments.do_something') self.assertGroupNoPermission(group1, 'shipments.something_else')
def setUpClass(cls): super(TransporterViewTest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(SupplierViewTest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(CtsUserViewTest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(CatalogAPITest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(DonorCodeViewTest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(ShipmentTest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(KitDeleteViewTest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(BaseViewTestCase, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): super(QRCodeTest, cls).setUpClass() bootstrap_permissions()
def test_transitive_implied_permissions(self): bootstrap_permissions() group3 = Group.objects.get(name='role3') self.assertGroupHasPermission(group3, 'shipments.do_something') self.assertGroupHasPermission(group3, 'shipments.something_else') self.assertGroupHasPermission(group3, 'shipments.a_third_thing')
def handle(self, *args, **options): bootstrap_permissions() self.stdout.write("Sucessfully created any missing permissions and groups")
def setUpClass(cls): super(CategoryViewTest, cls).setUpClass() bootstrap_permissions()
def test_simple_case(self): bootstrap_permissions() group = Group.objects.get(name='role') self.assertGroupHasPermission(group, 'shipments.do_something') perm = get_permission_by_name('shipments.do_something') self.assertEqual('Can do something', perm.name)
def setUpClass(cls): super(CtsUserModelTest, cls).setUpClass() bootstrap_permissions()
def setUpClass(cls): bootstrap_permissions()
def setUpClass(cls): super(ReportFilterMixin, cls).setUpClass() bootstrap_permissions()