def test_insert_into_multiple_products(self): # UIDs are global, autoincremented # IDs are product-scoped, incremented in the SQL translator self.env = ProductEnvironment(self.global_env, self.default_product) tid = self._insert_ticket('hello kitty', reporter='admin') ticket = Ticket(self.env, tid) self.assertEqual(tid, 1) self.assertEqual(self._get_ticket_uid(tid), 1) self.assertEqual(ticket.id, tid) tid = self._insert_ticket('hello kitteh', reporter='admin') ticket = Ticket(self.env, tid) self.assertEqual(tid, 2) self.assertEqual(self._get_ticket_uid(tid), 2) self.assertEqual(ticket.id, tid) p2 = Product(self.global_env) p2.prefix = 'p2' p2.name = 'product, too' p2.owner = 'admin' p2.insert() self.env = ProductEnvironment(self.global_env, p2) tid = self._insert_ticket('hello catty', reporter='admin') ticket = Ticket(self.env, tid) self.assertEqual(tid, 1) self.assertEqual(self._get_ticket_uid(tid), 3) self.assertEqual(ticket.id, tid) tid = self._insert_ticket('hello ocelot', reporter='admin') ticket = Ticket(self.env, tid) self.assertEqual(tid, 2) self.assertEqual(self._get_ticket_uid(tid), 4) self.assertEqual(ticket.id, tid)
def test_set_table_field(self): """tests that table.field style update works""" test = {'prefix': 'td', 'name': 'test field access', 'description': 'product to test field setting'} product = Product(self.env) # attempt to set the fields from the data product.prefix = test['prefix'] product.name = test['name'] product.description = test['description'] self.assertEqual(product._data['prefix'], test['prefix']) self.assertEqual(product._data['name'], test['name']) self.assertEqual(product._data['description'], test['description'])
def test_set_table_field(self): """tests that table.field style update works""" test = { 'prefix': 'td', 'name': 'test field access', 'description': 'product to test field setting' } product = Product(self.env) # attempt to set the fields from the data product.prefix = test['prefix'] product.name = test['name'] product.description = test['description'] self.assertEqual(product._data['prefix'], test['prefix']) self.assertEqual(product._data['name'], test['name']) self.assertEqual(product._data['description'], test['description'])
def test_new_product_perm(self): """Only product owner and TRAC_ADMIN will access new product """ newproduct = Product(self.global_env) newproduct.prefix = 'NEW' newproduct.name = 'New product' newproduct.owner = 'owneruser' newproduct.insert() env = ProductEnvironment(self.global_env, newproduct) self.global_perm_admin._do_add('adminuser', 'TRAC_ADMIN') admin_perm = perm.PermissionCache(env, 'adminuser') owner_perm = perm.PermissionCache(env, 'owneruser') user_perm = perm.PermissionCache(env, 'testuser') global_permsys = perm.PermissionSystem(self.global_env) permsys = perm.PermissionSystem(env) self.assertEquals({'EMAIL_VIEW': True, 'TEST_ADMIN': True, 'TEST_CREATE': True, 'TEST_DELETE': True, 'TEST_MODIFY': True, 'TRAC_ADMIN' : True}, global_permsys.get_user_permissions('adminuser')) self.assertEquals({}, global_permsys.get_user_permissions('owneruser')) self.assertEquals({}, global_permsys.get_user_permissions('testuser')) self.assertEquals({}, permsys.get_user_permissions('adminuser')) self.assertEquals({}, permsys.get_user_permissions('owneruser')) self.assertEquals({}, permsys.get_user_permissions('testuser')) all_actions = self.permsys.get_actions() all_actions.remove('TRAC_ADMIN') for action in all_actions: self.assertTrue(admin_perm.has_permission(action)) self.assertTrue(owner_perm.has_permission(action)) self.assertFalse(user_perm.has_permission(action)) self.assertTrue(admin_perm.has_permission('TRAC_ADMIN')) self.assertFalse(owner_perm.has_permission('TRAC_ADMIN')) self.assertFalse(user_perm.has_permission('TRAC_ADMIN'))