def setup_tip_environment(self): self.context_desc = yield admin.create_context(self.dummyContext, 'en') self.dummyReceiver_1['contexts'] = self.dummyReceiver_2['contexts'] = [self.context_desc['id']] self.dummyReceiver_1['can_postpone_expiration'] = False self.dummyReceiver_2['can_postpone_expiration'] = True self.dummyReceiver_1['can_delete_submission'] = True self.dummyReceiver_2['can_delete_submission'] = False self.receiver1_desc = yield admin.create_receiver(self.dummyReceiver_1, 'en') self.receiver2_desc = yield admin.create_receiver(self.dummyReceiver_2, 'en') self.assertEqual(self.receiver1_desc['contexts'], [ self.context_desc['id']]) self.assertEqual(self.receiver2_desc['contexts'], [ self.context_desc['id']]) dummySubmissionDict = yield self.get_dummy_submission(self.context_desc['id']) token = Token(token_kind='submission', context_id=self.context_desc['id']) self.submission_desc = yield submission.create_submission(token, dummySubmissionDict, 'en') self.assertEqual(self.submission_desc['wb_steps'], dummySubmissionDict['wb_steps']) tips_receiver_1 = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') tips_receiver_2 = yield receiver.get_receivertip_list(self.receiver2_desc['id'], 'en') self.rtip1_id = tips_receiver_1[0]['id'] self.rtip2_id = tips_receiver_2[0]['id']
def test_put_postpone(self): for _ in range(3): yield self.perform_full_submission_actions() yield set_expiration_of_all_rtips_to_unlimited() rtips = yield receiver.get_receivertip_list(1, self.dummyReceiver_1['id'], 'en') rtips_ids = [rtip['id'] for rtip in rtips] postpone_map = {} for rtip in rtips: postpone_map[rtip['id']] = rtip['expiration_date'] data_request = {'operation': 'postpone', 'rtips': rtips_ids} handler = self.request(data_request, user_id=self.dummyReceiver_1['id'], role='receiver') yield handler.put() rtips = yield receiver.get_receivertip_list(1, self.dummyReceiver_1['id'], 'en') for rtip in rtips: self.assertNotEqual(postpone_map[rtip['id']], rtip['expiration_date'])
def test_put_postpone(self): for _ in range(3): yield self.perform_full_submission_actions() yield set_expiration_of_all_rtips_to_unlimited() rtips = yield receiver.get_receivertip_list(1, self.dummyReceiver_1['id'], 'en') rtips_ids = [rtip['id'] for rtip in rtips] postpone_map = {} for rtip in rtips: postpone_map[rtip['id']] = rtip['expiration_date'] data_request = { 'operation': 'postpone', 'rtips': rtips_ids } handler = self.request(data_request, user_id=self.dummyReceiver_1['id'], role='receiver') yield handler.put() rtips = yield receiver.get_receivertip_list(1, self.dummyReceiver_1['id'], 'en') for rtip in rtips: self.assertNotEqual(postpone_map[rtip['id']], rtip['expiration_date'])
def setup_tip_environment(self): self.context_desc = yield admin.context.create_context(self.dummyContext, 'en') self.dummyReceiver_1['contexts'] = self.dummyReceiver_2['contexts'] = [self.context_desc['id']] self.dummyReceiver_1['can_postpone_expiration'] = False self.dummyReceiver_2['can_postpone_expiration'] = True self.dummyReceiver_1['can_delete_submission'] = True self.dummyReceiver_2['can_delete_submission'] = False self.receiver1_desc = yield admin.receiver.create_receiver(self.dummyReceiver_1, 'en') self.receiver2_desc = yield admin.receiver.create_receiver(self.dummyReceiver_2, 'en') self.assertEqual(self.receiver1_desc['contexts'], [ self.context_desc['id']]) self.assertEqual(self.receiver2_desc['contexts'], [ self.context_desc['id']]) dummySubmissionDict = yield self.get_dummy_submission(self.context_desc['id']) token = Token(token_kind='submission') token.proof_of_work = False self.submission_desc = yield submission.create_submission(token.id, dummySubmissionDict, False, 'en') self.assertEqual(self.submission_desc['answers'], dummySubmissionDict['answers']) tips_receiver_1 = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') tips_receiver_2 = yield receiver.get_receivertip_list(self.receiver2_desc['id'], 'en') self.rtip1_id = tips_receiver_1[0]['id'] self.rtip2_id = tips_receiver_2[0]['id'] self.rtip1_questionnaire_hash = tips_receiver_1[0]['questionnaire_hash'] self.rtip1_questionnaire_hash = tips_receiver_2[0]['questionnaire_hash']
def do_receivers_messages_and_unread_verification(self): # Receiver1 check the presence of the whistleblower message (only 1) x = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') # Receiver1 send one message msgrequest = {'content': u'Receiver1 send a message to WB'} k = yield rtip.create_message_receiver(self.receiver1_desc['id'], self.rtip1_id, msgrequest) self.assertEqual(k['visualized'], False) self.assertEqual(k['content'], msgrequest['content']) # Whistleblower check the presence of receiver1 unread message receiver_info_list = yield wbtip.get_wbtip_receivers_list( self.wbtip_id, 'en') for r in receiver_info_list: if r['id'] == self.receiver1_desc['id']: self.assertEqual(r['name'], self.receiver1_desc['name']) else: self.assertEqual(r['name'], self.receiver2_desc['name']) # Receiver2 check the presence of the whistleblower message (2 expected) a = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') self.assertEqual(len(a), 1) # Receiver2 READ the messages from the whistleblower unread = yield rtip.get_messages_list(self.receiver2_desc['id'], self.rtip2_id) self.assertEqual(unread[0]['visualized'], unread[1]['visualized']) self.assertEqual(unread[0]['visualized'], False) readed = yield rtip.get_messages_list(self.receiver2_desc['id'], self.rtip2_id) self.assertEqual(readed[0]['visualized'], readed[1]['visualized']) self.assertEqual(readed[0]['visualized'], True) # Receiver2 send two message msgrequest = {'content': u'Receiver2 send #1/2 message to WB'} yield rtip.create_message_receiver(self.receiver2_desc['id'], self.rtip2_id, msgrequest) msgrequest = {'content': u'Receiver2 send #2/2 message to WB'} yield rtip.create_message_receiver(self.receiver2_desc['id'], self.rtip2_id, msgrequest) # Whistleblower read the messages from Receiver2 wunread = yield wbtip.get_messages_content(self.wbtip_id, self.receiver2_desc['id']) self.assertEqual(len(wunread), 4) # two msg from Wb, two from R2 self.assertFalse(wunread[2]['visualized']) self.assertFalse(wunread[3]['visualized']) wreaded = yield wbtip.get_messages_content(self.wbtip_id, self.receiver2_desc['id']) self.assertTrue(wreaded[2]['visualized']) self.assertTrue(wreaded[3]['visualized'])
def create_receivers_tip(self): receivertips = yield delivery_sched.tip_creation() self.assertEqual(len(receivertips), 2) self.assertTrue(re.match(requests.uuid_regexp, receivertips[0])) self.assertTrue(re.match(requests.uuid_regexp, receivertips[1])) tips_receiver_1 = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') tips_receiver_2 = yield receiver.get_receivertip_list(self.receiver2_desc['id'], 'en') self.rtip1_id = tips_receiver_1[0]['id'] self.rtip2_id = tips_receiver_2[0]['id']
def do_receivers_messages_and_unread_verification(self): # Receiver1 check the presence of the whistleblower message (only 1) x = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') # Receiver1 send one message msgrequest = { 'content': u'Receiver1 send a message to WB' } k = yield rtip.create_message_receiver(self.receiver1_desc['id'], self.rtip1_id, msgrequest) self.assertEqual(k['visualized'], False) self.assertEqual(k['content'], msgrequest['content']) # Whistleblower check the presence of receiver1 unread message receiver_info_list = yield wbtip.get_wbtip_receivers_list(self.wbtip_id, 'en') for r in receiver_info_list: if r['id'] == self.receiver1_desc['id']: self.assertEqual(r['name'], self.receiver1_desc['name']) else: self.assertEqual(r['name'], self.receiver2_desc['name']) # Receiver2 check the presence of the whistleblower message (2 expected) a = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') self.assertEqual(len(a), 1) # Receiver2 READ the messages from the whistleblower unread = yield rtip.get_messages_list(self.receiver2_desc['id'], self.rtip2_id) self.assertEqual(unread[0]['visualized'], unread[1]['visualized']) self.assertEqual(unread[0]['visualized'], False) readed = yield rtip.get_messages_list(self.receiver2_desc['id'], self.rtip2_id) self.assertEqual(readed[0]['visualized'], readed[1]['visualized']) self.assertEqual(readed[0]['visualized'], True) # Receiver2 send two message msgrequest = { 'content': u'Receiver2 send #1/2 message to WB' } yield rtip.create_message_receiver(self.receiver2_desc['id'], self.rtip2_id, msgrequest) msgrequest = { 'content': u'Receiver2 send #2/2 message to WB' } yield rtip.create_message_receiver(self.receiver2_desc['id'], self.rtip2_id, msgrequest) # Whistleblower read the messages from Receiver2 wunread = yield wbtip.get_messages_content(self.wbtip_id, self.receiver2_desc['id']) self.assertEqual(len(wunread), 4) # two msg from Wb, two from R2 self.assertFalse(wunread[2]['visualized']) self.assertFalse(wunread[3]['visualized']) wreaded = yield wbtip.get_messages_content(self.wbtip_id, self.receiver2_desc['id']) self.assertTrue(wreaded[2]['visualized']) self.assertTrue(wreaded[3]['visualized'])
def receiver1_get_tip_list(self): tiplist = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') # this test has been added to test issue/515 self.assertTrue(isinstance(tiplist, list)) self.assertTrue(isinstance(tiplist[0], dict)) self.assertTrue(isinstance(tiplist[0]['preview'], list))
def receiver1_get_rtip_list(self): tiplist = yield receiver.get_receivertip_list(self.receiver1_desc['id'], 'en') # this test has been added to test issue/515 self.assertTrue(isinstance(tiplist, list)) self.assertTrue(isinstance(tiplist[0], dict)) self.assertTrue(isinstance(tiplist[0]['preview'], dict))
def test_put_delete(self): for _ in xrange(3): yield self.perform_full_submission_actions() handler = self.request(user_id=self.dummyReceiver_1["id"], role="receiver") rtips = yield receiver.get_receivertip_list(self.dummyReceiver_1["id"], "en") rtips_ids = [rtip["id"] for rtip in rtips] data_request = {"operation": "delete", "rtips": rtips_ids} handler = self.request(data_request, user_id=self.dummyReceiver_1["id"], role="receiver") yield handler.put() rtips = yield receiver.get_receivertip_list(self.dummyReceiver_1["id"], "en") self.assertEqual(len(rtips), 0)
def postpone_tip_expiration(self): recv_desc = yield admin.receiver.get_receiver_list('en') self.assertEqual(len(recv_desc), 2) rtip_desc = yield receiver.get_receivertip_list(recv_desc[0]['id'], 'en') self.assertEqual(len(rtip_desc), 1) rtip.postpone_expiration_date(recv_desc[0]['id'], rtip_desc[0]['id']) yield cleaning_sched.CleaningSchedule().operation()
def postpone_tip_expiration(self): recv_desc = yield admin.get_receiver_list('en') self.assertEqual(len(recv_desc), 2) rtip_desc = yield receiver.get_receivertip_list(recv_desc[0]['id'], 'en') self.assertEqual(len(rtip_desc), 1) rtip.postpone_expiration_date(recv_desc[0]['id'], rtip_desc[0]['id']) yield cleaning_sched.CleaningSchedule().operation()
def test_put_delete(self): for _ in range(3): yield self.perform_full_submission_actions() rtips = yield receiver.get_receivertip_list(self.dummyReceiver_1['id'], 'en') rtips_ids = [rtip['id'] for rtip in rtips] data_request = { 'operation': 'delete', 'rtips': rtips_ids } handler = self.request(data_request, user_id = self.dummyReceiver_1['id'], role='receiver') yield handler.put() rtips = yield receiver.get_receivertip_list(self.dummyReceiver_1['id'], 'en') self.assertEqual(len(rtips), 0)
def test_put_delete(self): for _ in range(3): yield self.perform_full_submission_actions() rtips = yield receiver.get_receivertip_list(1, self.dummyReceiver_1['id'], 'en') rtips_ids = [rtip['id'] for rtip in rtips] data_request = { 'operation': 'delete', 'rtips': rtips_ids } handler = self.request(data_request, user_id=self.dummyReceiver_1['id'], role='receiver') yield handler.put() rtips = yield receiver.get_receivertip_list(1, self.dummyReceiver_1['id'], 'en') self.assertEqual(len(rtips), 0)
def test_put_postpone(self): for _ in xrange(3): yield self.perform_full_submission_actions() rtips = yield receiver.get_receivertip_list(self.dummyReceiver_1["id"], "en") rtips_ids = [rtip["id"] for rtip in rtips] postpone_map = {} for rtip in rtips: postpone_map[rtip["id"]] = rtip["expiration_date"] data_request = {"operation": "postpone", "rtips": rtips_ids} handler = self.request(data_request, user_id=self.dummyReceiver_1["id"], role="receiver") yield handler.put() rtips = yield receiver.get_receivertip_list(self.dummyReceiver_1["id"], "en") for rtip in rtips: self.assertNotEqual(postpone_map[rtip["id"]], rtip["expiration_date"])