Exemple #1
0
 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')
Exemple #2
0
 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')
Exemple #3
0
 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')
Exemple #4
0
 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')
Exemple #5
0
 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')
Exemple #6
0
    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)
Exemple #7
0
    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)
Exemple #8
0
 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')
Exemple #9
0
 def setUpClass(cls):
     super(TransporterViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #10
0
 def setUpClass(cls):
     super(SupplierViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #11
0
 def setUpClass(cls):
     super(CtsUserViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #12
0
 def setUpClass(cls):
     super(CatalogAPITest, cls).setUpClass()
     bootstrap_permissions()
Exemple #13
0
 def setUpClass(cls):
     super(SupplierViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #14
0
 def setUpClass(cls):
     super(DonorCodeViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #15
0
 def setUpClass(cls):
     super(ShipmentTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #16
0
 def setUpClass(cls):
     super(KitDeleteViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #17
0
 def setUpClass(cls):
     super(BaseViewTestCase, cls).setUpClass()
     bootstrap_permissions()
Exemple #18
0
 def setUpClass(cls):
     super(ShipmentTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #19
0
 def setUpClass(cls):
     super(QRCodeTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #20
0
 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")
Exemple #22
0
 def setUpClass(cls):
     super(CategoryViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #23
0
 def setUpClass(cls):
     super(CatalogAPITest, cls).setUpClass()
     bootstrap_permissions()
Exemple #24
0
 def setUpClass(cls):
     super(DonorCodeViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #25
0
 def setUpClass(cls):
     super(BaseViewTestCase, cls).setUpClass()
     bootstrap_permissions()
Exemple #26
0
 def setUpClass(cls):
     super(TransporterViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #27
0
 def setUpClass(cls):
     super(QRCodeTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #28
0
 def setUpClass(cls):
     super(CategoryViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #29
0
 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')
Exemple #30
0
 def setUpClass(cls):
     super(KitDeleteViewTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #31
0
 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)
Exemple #32
0
 def setUpClass(cls):
     super(CtsUserModelTest, cls).setUpClass()
     bootstrap_permissions()
Exemple #33
0
 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)
Exemple #34
0
 def setUpClass(cls):
     bootstrap_permissions()
Exemple #35
0
 def setUpClass(cls):
     super(ReportFilterMixin, cls).setUpClass()
     bootstrap_permissions()