def test_put(self): """ Attempt to update a field, changing its type via a put request. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(1, copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire(context['questionnaire_id']) field = yield create_field(1, values, 'en') updated_sample_field = helpers.get_dummy_field() updated_sample_field['instance'] = 'instance' context = yield create_context(1, copy.deepcopy(self.dummyContext), 'en') updated_sample_field['step_id'] = yield get_id_of_first_step_of_questionnaire(context['questionnaire_id']) updated_sample_field.update(type=u'inputbox', options=[], x=3, y=3) handler = self.request(updated_sample_field, role='admin') response = yield handler.put(field['id']) self.assertEqual(field['id'], response['id']) self.assertEqual(3, response['x']) self.assertEqual(3, response['y']) wrong_sample_field = helpers.get_dummy_field() values['instance'] = 'instance' values['step_id'] = yield get_id_of_first_step_of_questionnaire(context['questionnaire_id']) wrong_sample_field.update(type='nonexistingfieldtype') handler = self.request(wrong_sample_field, role='admin') self.assertRaises(errors.InputValidationError, handler.put, field['id'])
def test_put(self): """ Attempt to update a field, changing its type via a put request. """ values = self.get_dummy_field() values["instance"] = "instance" context = yield create_context(copy.deepcopy(self.dummyContext), "en") values["step_id"] = yield get_step_id(context["id"]) field = yield create_field(values, "en") updated_sample_field = self.get_dummy_field() updated_sample_field["instance"] = "instance" context = yield create_context(copy.deepcopy(self.dummyContext), "en") updated_sample_field["step_id"] = yield get_step_id(context["id"]) updated_sample_field.update(type="inputbox") handler = self.request(updated_sample_field, role="admin") yield handler.put(field["id"]) self.assertEqual(len(self.responses), 1) self.assertEqual(field["id"], self.responses[0]["id"]) self.assertEqual(self.responses[0]["type"], "inputbox") wrong_sample_field = self.get_dummy_field() values["instance"] = "instance" values["step_id"] = yield get_step_id(context["id"]) wrong_sample_field.update(type="nonexistingfieldtype") handler = self.request(wrong_sample_field, role="admin") self.assertFailure(handler.put(field["id"]), errors.InvalidInputFormat)
def test_put(self): """ Attempt to update a field, changing its type via a put request. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) field = yield create_field(values, 'en') updated_sample_field = helpers.get_dummy_field() updated_sample_field['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') updated_sample_field[ 'step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) updated_sample_field.update(type='inputbox') handler = self.request(updated_sample_field, role='admin') response = yield handler.put(field['id']) self.assertEqual(field['id'], response['id']) self.assertEqual(response['type'], 'inputbox') wrong_sample_field = helpers.get_dummy_field() values['instance'] = 'instance' values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) wrong_sample_field.update(type='nonexistingfieldtype') handler = self.request(wrong_sample_field, role='admin') self.assertRaises(errors.InvalidInputFormat, handler.put, field['id'])
def test_put(self): """ Attempt to update a field, changing its type via a put request. """ values = self.get_dummy_field() values['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_step_id(context['id']) field = yield create_field(values, 'en') updated_sample_field = self.get_dummy_field() updated_sample_field['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') updated_sample_field['step_id'] = yield get_step_id(context['id']) updated_sample_field.update(type='inputbox') handler = self.request(updated_sample_field, role='admin') yield handler.put(field['id']) self.assertEqual(len(self.responses), 1) self.assertEqual(field['id'], self.responses[0]['id']) self.assertEqual(self.responses[0]['type'], 'inputbox') wrong_sample_field = self.get_dummy_field() values['instance'] = 'instance' values['step_id'] = yield get_step_id(context['id']) wrong_sample_field.update(type='nonexistingfieldtype') handler = self.request(wrong_sample_field, role='admin') self.assertFailure(handler.put(field['id']), errors.InvalidInputFormat)
def fill_data(self): # fill_data/create_admin self.dummyAdminUser = yield create_admin_user(copy.deepcopy(self.dummyAdminUser), 'en') # fill_data/create_custodian self.dummyCustodianUser = yield create_custodian_user(copy.deepcopy(self.dummyCustodianUser), 'en') # fill_data/create_receiver self.dummyReceiver_1 = yield create_receiver(copy.deepcopy(self.dummyReceiver_1), 'en') self.dummyReceiverUser_1['id'] = self.dummyReceiver_1['id'] self.dummyReceiver_2 = yield create_receiver(copy.deepcopy(self.dummyReceiver_2), 'en') self.dummyReceiverUser_2['id'] = self.dummyReceiver_2['id'] receivers_ids = [self.dummyReceiver_1['id'], self.dummyReceiver_2['id']] # fill_data/create_context self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context(copy.deepcopy(self.dummyContext), 'en') self.dummyQuestionnaire = yield get_questionnaire(self.dummyContext['questionnaire_id'], 'en') self.dummyQuestionnaire['steps'].append(get_dummy_step()) self.dummyQuestionnaire['steps'][1]['questionnaire_id'] = self.dummyContext['questionnaire_id'] self.dummyQuestionnaire['steps'][1]['label'] = 'Whistleblower identity' self.dummyQuestionnaire['steps'][1]['presentation_order'] = 1 self.dummyQuestionnaire['steps'][1] = yield create_step(self.dummyQuestionnaire['steps'][1], 'en') if self.complex_field_population: yield self.add_whistleblower_identity_field_to_step(self.dummyQuestionnaire['steps'][1]['id'])
def fill_data(self): # fill_data/create_admin self.dummyAdmin = yield create_admin(copy.deepcopy(self.dummyAdminUser), 'en') self.dummyAdminUser['id'] = self.dummyAdmin['id'] # fill_data/create_custodian self.dummyCustodian = yield create_custodian(copy.deepcopy(self.dummyCustodianUser), 'en') self.dummyCustodianUser['id'] = self.dummyCustodian['id'] # fill_data/create_receiver self.dummyReceiver_1 = yield create_receiver(copy.deepcopy(self.dummyReceiver_1), 'en') self.dummyReceiverUser_1['id'] = self.dummyReceiver_1['id'] self.dummyReceiver_2 = yield create_receiver(copy.deepcopy(self.dummyReceiver_2), 'en') self.dummyReceiverUser_2['id'] = self.dummyReceiver_2['id'] receivers_ids = [self.dummyReceiver_1['id'], self.dummyReceiver_2['id']] # fill_data/create_context self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context(copy.deepcopy(self.dummyContext), 'en') # fill_data: create field templates for idx, field in enumerate(self.dummyFieldTemplates): f = yield create_field(copy.deepcopy(field), 'en', 'import') self.dummyFieldTemplates[idx]['id'] = f['id'] for idx, field in enumerate(self.dummyFields): change_field_type(field, 'instance') field['step_id'] = self.dummyContext['steps'][0]['id'] f = yield create_field(copy.deepcopy(field), 'en', 'import') self.dummyFields[idx]['id'] = f['id'] self.dummyContext['steps'][0]['children'].append(f) yield update_context(self.dummyContext['id'], copy.deepcopy(self.dummyContext), 'en')
def test_post_create_from_template(self): """ Attempt to create a new field from template via post request """ values = self.get_dummy_field() values['instance'] = 'template' field_template = yield create_field(values, 'en') context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step_id = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) values = self.get_dummy_field() values['instance'] = 'reference' values['template_id'] = field_template['id'] values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) handler = self.request(values, role='admin') yield handler.post() self.assertEqual(len(self.responses), 1) resp, = self.responses self.assertIn('id', resp) self.assertNotEqual(resp.get('options'), None)
def fill_data(self): # fill_data/create_admin self.dummyAdmin = yield create_user(1, self.dummyAdmin, 'en') # fill_data/create_custodian self.dummyCustodian = yield create_user(1, self.dummyCustodian, 'en') # fill_data/create_receiver self.dummyReceiver_1 = yield create_user(1, self.dummyReceiver_1, 'en') self.dummyReceiver_2 = yield create_user(1, self.dummyReceiver_2, 'en') receivers_ids = [self.dummyReceiver_1['id'], self.dummyReceiver_2['id']] yield mock_users_keys() # fill_data/create_context self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context(1, self.dummyContext, 'en') self.dummyQuestionnaire = yield tw(db_get_questionnaire, 1, self.dummyContext['questionnaire_id'], 'en') self.dummyQuestionnaire['steps'].append(get_dummy_step()) self.dummyQuestionnaire['steps'][1]['questionnaire_id'] = self.dummyContext['questionnaire_id'] self.dummyQuestionnaire['steps'][1]['label'] = 'Whistleblower identity' self.dummyQuestionnaire['steps'][1]['order'] = 1 self.dummyQuestionnaire['steps'][1] = yield tw(db_create_step, 1, self.dummyQuestionnaire['steps'][1], 'en') if self.complex_field_population: yield self.add_whistleblower_identity_field_to_step(self.dummyQuestionnaire['steps'][1]['id']) for i in range(1, self.population_of_tenants): name = 'tenant-' + str(i+1) t = yield create_tenant({'mode': 'default', 'label': name, 'active': True, 'subdomain': name}) yield tw(db_wizard, t['id'], '127.0.0.1', self.dummyWizard) yield self.set_hostnames(i+1)
def fill_data(self): # fill_data/create_admin self.dummyAdminUser = yield create_user(self.state, 1, copy.deepcopy(self.dummyAdminUser), 'en') # fill_data/create_custodian self.dummyCustodianUser = yield create_user(self.state, 1, copy.deepcopy(self.dummyCustodianUser), 'en') # fill_data/create_receiver self.dummyReceiver_1 = yield create_receiver_user(self.state, 1, copy.deepcopy(self.dummyReceiver_1), 'en') self.dummyReceiverUser_1['id'] = self.dummyReceiver_1['id'] self.dummyReceiver_2 = yield create_receiver_user(self.state, 1, copy.deepcopy(self.dummyReceiver_2), 'en') self.dummyReceiverUser_2['id'] = self.dummyReceiver_2['id'] receivers_ids = [self.dummyReceiver_1['id'], self.dummyReceiver_2['id']] # fill_data/create_context self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context(self.state, 1, copy.deepcopy(self.dummyContext), 'en') self.dummyQuestionnaire = yield get_questionnaire(1, self.dummyContext['questionnaire_id'], 'en') self.dummyQuestionnaire['steps'].append(get_dummy_step()) self.dummyQuestionnaire['steps'][1]['questionnaire_id'] = self.dummyContext['questionnaire_id'] self.dummyQuestionnaire['steps'][1]['label'] = 'Whistleblower identity' self.dummyQuestionnaire['steps'][1]['presentation_order'] = 1 self.dummyQuestionnaire['steps'][1] = yield create_step(1, self.dummyQuestionnaire['steps'][1], 'en') if self.complex_field_population: yield self.add_whistleblower_identity_field_to_step(self.dummyQuestionnaire['steps'][1]['id']) for i in range(1, self.population_of_tenants): name = 'tenant-' + str(i+1) t = yield create_tenant({'label': name, 'active': True, 'subdomain': name}) yield wizard(self.state, t['id'], self.dummyWizard, True, u'en') yield self.set_hostnames(i+1)
def fill_data(self): # fill_data/create_admin self.dummyAdminUser = yield create_admin_user(copy.deepcopy(self.dummyAdminUser), 'en') # fill_data/create_custodian self.dummyCustodianUser = yield create_custodian_user(copy.deepcopy(self.dummyCustodianUser), 'en') # fill_data/create_receiver self.dummyReceiver_1 = yield create_receiver_user(copy.deepcopy(self.dummyReceiver_1), 'en') self.dummyReceiverUser_1['id'] = self.dummyReceiver_1['id'] self.dummyReceiver_2 = yield create_receiver_user(copy.deepcopy(self.dummyReceiver_2), 'en') self.dummyReceiverUser_2['id'] = self.dummyReceiver_2['id'] receivers_ids = [self.dummyReceiver_1['id'], self.dummyReceiver_2['id']] # fill_data/create_context self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context(copy.deepcopy(self.dummyContext), 'en') self.dummyQuestionnaire = yield get_questionnaire(self.dummyContext['questionnaire_id'], 'en') self.dummyQuestionnaire['steps'].append(get_dummy_step()) self.dummyQuestionnaire['steps'][1]['questionnaire_id'] = self.dummyContext['questionnaire_id'] self.dummyQuestionnaire['steps'][1]['label'] = 'Whistleblower identity' self.dummyQuestionnaire['steps'][1]['presentation_order'] = 1 self.dummyQuestionnaire['steps'][1] = yield create_step(self.dummyQuestionnaire['steps'][1], 'en') if self.complex_field_population: yield self.add_whistleblower_identity_field_to_step(self.dummyQuestionnaire['steps'][1]['id'])
def fill_data(self): yield do_appdata_init() # fill_data/create_admin self.dummyAdmin = yield create_admin( copy.deepcopy(self.dummyAdminUser), 'en') self.dummyAdminUser['id'] = self.dummyAdmin['id'] # fill_data/create_custodian self.dummyCustodian = yield create_custodian( copy.deepcopy(self.dummyCustodianUser), 'en') self.dummyCustodianUser['id'] = self.dummyCustodian['id'] custodians_ids = [self.dummyCustodian['id']] # fill_data/create_receiver self.dummyReceiver_1 = yield create_receiver( copy.deepcopy(self.dummyReceiver_1), 'en') self.dummyReceiverUser_1['id'] = self.dummyReceiver_1['id'] self.dummyReceiver_2 = yield create_receiver( copy.deepcopy(self.dummyReceiver_2), 'en') self.dummyReceiverUser_2['id'] = self.dummyReceiver_2['id'] receivers_ids = [ self.dummyReceiver_1['id'], self.dummyReceiver_2['id'] ] # fill_data/create_context self.dummyContext['custodians'] = custodians_ids self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context( copy.deepcopy(self.dummyContext), 'en') # fill_data: create field templates for idx, field in enumerate(self.dummyFieldTemplates): f = yield create_field(copy.deepcopy(field), 'en') self.dummyFieldTemplates[idx]['id'] = f['id'] # fill_data: create fields and associate them to the context steps for idx, field in enumerate(self.dummyFields): field['instance'] = 'instance' if idx <= 2: # "Field 1", "Field 2" and "Generalities" are associated to the first step field['step_id'] = self.dummyContext['steps'][0]['id'] else: # Name, Surname, Gender" are associated to field "Generalities" # "Field 1" and "Field 2" are associated to the first step field['fieldgroup_id'] = self.dummyFields[2]['id'] f = yield create_field(copy.deepcopy(field), 'en') self.dummyFields[idx]['id'] = f['id'] self.dummyContext['steps'][0]['children'] = [ self.dummyFields[0], # Field 1 self.dummyFields[1], # Field 2 self.dummyFields[2] # Generalities ] yield update_context(self.dummyContext['id'], copy.deepcopy(self.dummyContext), 'en')
def test_submission_file_delivery_pgp(self): new_fields = MockDict().dummyFields new_context = MockDict().dummyContext new_context['name'] = "Context Name" new_context_output = yield create_context(new_context, 'en') self.context_assertions(new_context, new_context_output) doubletest = yield get_context_list('en') self.assertEqual(len(doubletest), 2) yanr = self.get_dummy_receiver("antani1") yanr['pgp_key_public'] = unicode(VALID_PGP_KEY1) yanr['contexts'] = [new_context_output['id']] yanr_output = yield receiver.create_receiver(yanr, 'en') self.receiver_assertions(yanr, yanr_output) asdr = self.get_dummy_receiver("antani2") asdr['pgp_key_public'] = unicode(VALID_PGP_KEY1) asdr['contexts'] = [new_context_output['id']] asdr_output = yield receiver.create_receiver(asdr, 'en') self.receiver_assertions(asdr, asdr_output) new_subm = dict(MockDict().dummySubmission) new_subm['finalize'] = False new_subm['context_id'] = new_context_output['id'] new_subm['receivers'] = [asdr_output['id'], yanr_output['id']] new_subm['identity_provided'] = False new_subm['answers'] = yield self.fill_random_answers( new_context_output['id']) token = Token('submission') token.proof_of_work = False yield self.emulate_file_upload(token, 3) new_subm_output = yield submission.create_submission( token.id, new_subm, False, 'en') yield DeliverySchedule().operation() # now get a lots of receivertips/receiverfiles and check! ifilist = yield self.get_internalfiles_by_wbtip(new_subm_output['id']) self.assertTrue(isinstance(ifilist, list)) self.assertEqual(len(ifilist), 3) rfilist = yield self.get_receiverfiles_by_wbtip(new_subm_output['id']) self.assertTrue(isinstance(ifilist, list)) self.assertEqual(len(rfilist), 6) for i in range(0, 3): self.assertLess(ifilist[0]['size'], rfilist[i]['size']) self.assertEqual(rfilist[0]['status'], u"encrypted")
def test_submission_file_delivery_pgp(self): new_fields = MockDict().dummyFields new_context = MockDict().dummyContext new_context['name'] = "this uniqueness is no more checked due to the lang" new_context_output = yield create_context(new_context, 'en') self.context_assertions(new_context, new_context_output) doubletest = yield get_context_list('en') self.assertEqual(len(doubletest), 2) yanr = self.get_dummy_receiver("antani1") yanr['pgp_key_public'] = unicode(VALID_PGP_KEY1) yanr['contexts'] = [ new_context_output['id']] yanr_output = yield receiver.create_receiver(yanr, 'en') self.receiver_assertions(yanr, yanr_output) asdr = self.get_dummy_receiver("antani2") asdr['pgp_key_public'] = unicode(VALID_PGP_KEY1) asdr['contexts'] = [ new_context_output['id']] asdr_output = yield receiver.create_receiver(asdr, 'en') self.receiver_assertions(asdr, asdr_output) new_subm = dict(MockDict().dummySubmission) new_subm['finalize'] = False new_subm['context_id'] = new_context_output['id'] new_subm['receivers'] = [ asdr_output['id'], yanr_output['id'] ] new_subm['identity_provided'] = False new_subm['answers'] = yield self.fill_random_answers(new_context_output['id']) token = Token('submission') token.proof_of_work = False yield self.emulate_file_upload(token, 3) new_subm_output = yield submission.create_submission(token.id, new_subm, False, 'en') yield DeliverySchedule().operation() # now get a lots of receivertips/receiverfiles and check! ifilist = yield self.get_internalfiles_by_wbtip(new_subm_output['id']) self.assertTrue(isinstance(ifilist, list)) self.assertEqual(len(ifilist), 3) rfilist = yield self.get_receiverfiles_by_wbtip(new_subm_output['id']) self.assertTrue(isinstance(ifilist, list)) self.assertEqual(len(rfilist), 6) for i in range(0, 3): self.assertLess(ifilist[0]['size'], rfilist[i]['size']) self.assertEqual(rfilist[0]['status'], u"encrypted" )
def test_post(self): """ Attempt to create a new step via a post request. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = helpers.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] handler = self.request(step, role='admin') response = yield handler.post() self.assertIn('id', response) self.assertNotEqual(response.get('questionnaire_id'), None)
def test_get(self): """ Create a new step, then get it back using the received id. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = helpers.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] step = yield create_step(step, 'en') handler = self.request(role='admin') response = yield handler.get(step['id']) self.assertEqual(step['id'], response['id'])
def test_delete(self): """ Create a new field, then attempt to delete it. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(1, copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire(context['questionnaire_id']) field = yield create_field(1, values, 'en') handler = self.request(role='admin') yield handler.delete(field['id'])
def test_post(self): """ Attempt to create a new field via a post request. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(1, self.dummyContext, 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire(context['questionnaire_id']) handler = self.request(values, role='admin') response = yield handler.post() self.assertIn('id', response) self.assertNotEqual(response.get('options'), None)
def test_get(self): """ Create a new step, then get it back using the received id. """ context = yield create_context(copy.deepcopy(self.dummyContext), "en") step = helpers.get_dummy_step() step["questionnaire_id"] = context["questionnaire_id"] step = yield create_step(step, "en") handler = self.request(role="admin") yield handler.get(step["id"]) self.assertEqual(len(self.responses), 1) self.assertEqual(step["id"], self.responses[0]["id"])
def test_post(self): """ Attempt to create a new field via a post request. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(1, self.dummyContext, 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) handler = self.request(values, role='admin') response = yield handler.post() self.assertIn('id', response) self.assertNotEqual(response.get('options'), None)
def test_delete(self): """ Create a new field, then attempt to delete it. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) field = yield create_field(values, 'en') handler = self.request(role='admin') yield handler.delete(field['id'])
def test_put(self): """ Attempt to update a field, changing its type via a put request. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(self.state, 1, copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) field = yield create_field(1, values, 'en') updated_sample_field = helpers.get_dummy_field() updated_sample_field['instance'] = 'instance' context = yield create_context(self.state, 1, copy.deepcopy(self.dummyContext), 'en') updated_sample_field[ 'step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) updated_sample_field.update(type=u'inputbox', options=[], x=3, y=3) handler = self.request(updated_sample_field, role='admin') response = yield handler.put(field['id']) self.assertEqual(field['id'], response['id']) self.assertEqual(3, response['x']) self.assertEqual(3, response['y']) # assert that it is impossible to change field type self.assertEqual(response['type'], 'multichoice') wrong_sample_field = helpers.get_dummy_field() values['instance'] = 'instance' values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) wrong_sample_field.update(type='nonexistingfieldtype') handler = self.request(wrong_sample_field, role='admin') self.assertRaises(errors.InputValidationError, handler.put, field['id'])
def test_delete(self): """ Create a new step, then attempt to delete it. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = helpers.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] step = yield create_step(step, 'en') handler = self.request(role='admin') yield handler.delete(step['id']) # second deletion operation should fail yield self.assertFailure(handler.delete(step['id']), errors.StepIdNotFound)
def test_get(self): """ Create a new step, then get it back using the received id. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = copy.deepcopy(self.dummySteps[0]) step['context_id'] = context['id'] step = yield create_step(step, 'en') handler = self.request(role='admin') yield handler.get(step['id']) self.assertEqual(len(self.responses), 1) self.assertEqual(step['id'], self.responses[0]['id'])
def test_get(self): """ Create a new step, then get it back using the received id. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = self.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] step = yield create_step(step, 'en') handler = self.request(role='admin') yield handler.get(step['id']) self.assertEqual(len(self.responses), 1) self.assertEqual(step['id'], self.responses[0]['id'])
def test_post(self): """ Attempt to create a new step via a post request. """ context = yield create_context(copy.deepcopy(self.dummyContext), "en") step = helpers.get_dummy_step() step["questionnaire_id"] = context["questionnaire_id"] handler = self.request(step, role="admin") yield handler.post() self.assertEqual(len(self.responses), 1) resp = self.responses[0] self.assertIn("id", resp) self.assertNotEqual(resp.get("questionnaire_id"), None)
def test_get(self): """ Create a new field, then get it back using the received id. """ values = self.get_dummy_field() values['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_step_id(context['id']) field = yield create_field(values, 'en') handler = self.request(role='admin') yield handler.get(field['id']) self.assertEqual(len(self.responses), 1) self.assertEqual(field['id'], self.responses[0]['id'])
def test_delete(self): """ Create a new step, then attempt to delete it. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = copy.deepcopy(self.dummySteps[0]) step['context_id'] = context['id'] step = yield create_step(step, 'en') handler = self.request(role='admin') yield handler.delete(step['id']) self.assertEqual(handler.get_status(), 200) # second deletion operation should fail self.assertFailure(handler.delete(step['id']), errors.StepIdNotFound)
def test_post(self): """ Attempt to create a new step via a post request. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = copy.deepcopy(self.dummySteps[0]) step['context_id'] = context['id'] handler = self.request(step, role='admin') yield handler.post() self.assertEqual(len(self.responses), 1) resp, = self.responses self.assertIn('id', resp) self.assertNotEqual(resp.get('context_id'), None)
def test_delete(self): """ Create a new step, then attempt to delete it. """ context = yield create_context(copy.deepcopy(self.dummyContext), "en") step = helpers.get_dummy_step() step["questionnaire_id"] = context["questionnaire_id"] step = yield create_step(step, "en") handler = self.request(role="admin") yield handler.delete(step["id"]) self.assertEqual(handler.get_status(), 200) # second deletion operation should fail yield self.assertFailure(handler.delete(step["id"]), errors.StepIdNotFound)
def fill_data(self): yield do_appdata_init() # fill_data/create_admin self.dummyAdmin = yield create_admin(copy.deepcopy(self.dummyAdminUser), 'en') self.dummyAdminUser['id'] = self.dummyAdmin['id'] # fill_data/create_custodian self.dummyCustodian = yield create_custodian(copy.deepcopy(self.dummyCustodianUser), 'en') self.dummyCustodianUser['id'] = self.dummyCustodian['id'] custodians_ids = [self.dummyCustodian['id']] # fill_data/create_receiver self.dummyReceiver_1 = yield create_receiver(copy.deepcopy(self.dummyReceiver_1), 'en') self.dummyReceiverUser_1['id'] = self.dummyReceiver_1['id'] self.dummyReceiver_2 = yield create_receiver(copy.deepcopy(self.dummyReceiver_2), 'en') self.dummyReceiverUser_2['id'] = self.dummyReceiver_2['id'] receivers_ids = [self.dummyReceiver_1['id'], self.dummyReceiver_2['id']] # fill_data/create_context self.dummyContext['custodians'] = custodians_ids self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context(copy.deepcopy(self.dummyContext), 'en') # fill_data: create field templates for idx, field in enumerate(self.dummyFieldTemplates): f = yield create_field(copy.deepcopy(field), 'en') self.dummyFieldTemplates[idx]['id'] = f['id'] # fill_data: create fields and associate them to the context steps for idx, field in enumerate(self.dummyFields): field['instance'] = 'instance' if idx <= 2: # "Field 1", "Field 2" and "Generalities" are associated to the first step field['step_id'] = self.dummyContext['steps'][0]['id'] else: # Name, Surname, Gender" are associated to field "Generalities" # "Field 1" and "Field 2" are associated to the first step field['fieldgroup_id'] = self.dummyFields[2]['id'] f = yield create_field(copy.deepcopy(field), 'en') self.dummyFields[idx]['id'] = f['id'] self.dummyContext['steps'][0]['children'] = [ self.dummyFields[0], # Field 1 self.dummyFields[1], # Field 2 self.dummyFields[2] # Generalities ] yield update_context(self.dummyContext['id'], copy.deepcopy(self.dummyContext), 'en')
def test_get(self): """ Create a new field, then get it back using the received id. """ values = self.get_dummy_field() values["instance"] = "instance" context = yield create_context(copy.deepcopy(self.dummyContext), "en") values["step_id"] = yield get_step_id(context["id"]) field = yield create_field(values, "en") handler = self.request(role="admin") yield handler.get(field["id"]) self.assertEqual(len(self.responses), 1) self.assertEqual(field["id"], self.responses[0]["id"])
def test_get(self): """ Create a new field, then get it back using the received id. """ values = helpers.get_dummy_field() values['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_id_of_first_step_of_questionnaire( context['questionnaire_id']) field = yield create_field(values, 'en') handler = self.request(role='admin') response = yield handler.get(field['id']) self.assertEqual(field['id'], response['id'])
def test_post(self): """ Attempt to create a new step via a post request. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = self.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] handler = self.request(step, role='admin') yield handler.post() self.assertEqual(len(self.responses), 1) resp, = self.responses self.assertIn('id', resp) self.assertNotEqual(resp.get('questionnaire_id'), None)
def test_delete(self): """ Create a new step, then attempt to delete it. """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = self.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] step = yield create_step(step, 'en') handler = self.request(role='admin') yield handler.delete(step['id']) self.assertEqual(handler.get_status(), 200) # second deletion operation should fail self.assertFailure(handler.delete(step['id']), errors.StepIdNotFound)
def test_delete(self): """ Create a new field, then attempt to delete it. """ values = self.get_dummy_field() values['instance'] = 'instance' context = yield create_context(copy.deepcopy(self.dummyContext), 'en') values['step_id'] = yield get_step_id(context['id']) field = yield create_field(values, 'en') handler = self.request(role='admin') yield handler.delete(field['id']) self.assertEqual(handler.get_status(), 200) # second deletion operation should fail self.assertFailure(handler.delete(field['id']), errors.FieldIdNotFound)
def test_put(self): """ Attempt to update a step, changing it presentation order """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = helpers.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] step = yield create_step(step, 'en') step['presentation_order'] = 666 handler = self.request(step, role='admin') response = yield handler.put(step['id']) self.assertEqual(step['id'], response['id']) self.assertEqual(response['presentation_order'], 666)
def test_post(self): """ Attempt to create a new field via a post request. """ values = self.get_dummy_field() values['instance'] = 'instance' context = yield create_context(self.dummyContext, 'en') values['step_id'] = yield get_step_id(context['id']) handler = self.request(values, role='admin') yield handler.post() self.assertEqual(len(self.responses), 1) resp, = self.responses self.assertIn('id', resp) self.assertNotEqual(resp.get('options'), None)
def test_post(self): """ Attempt to create a new field via a post request. """ values = self.get_dummy_field() values["instance"] = "instance" context = yield create_context(self.dummyContext, "en") values["step_id"] = yield get_step_id(context["id"]) handler = self.request(values, role="admin") yield handler.post() self.assertEqual(len(self.responses), 1) resp, = self.responses self.assertIn("id", resp) self.assertNotEqual(resp.get("options"), None)
def test_put(self): """ Attempt to update a step, changing it presentation order """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = copy.deepcopy(self.dummySteps[0]) step['context_id'] = context['id'] step = yield create_step(step, 'en') step['presentation_order'] = 666 handler = self.request(step, role='admin') yield handler.put(step['id']) self.assertEqual(len(self.responses), 1) self.assertEqual(step['id'], self.responses[0]['id']) self.assertEqual(self.responses[0]['presentation_order'], 666)
def test_put(self): """ Attempt to update a step, changing it presentation order """ context = yield create_context(copy.deepcopy(self.dummyContext), "en") step = helpers.get_dummy_step() step["questionnaire_id"] = context["questionnaire_id"] step = yield create_step(step, "en") step["presentation_order"] = 666 handler = self.request(step, role="admin") yield handler.put(step["id"]) self.assertEqual(len(self.responses), 1) self.assertEqual(step["id"], self.responses[0]["id"]) self.assertEqual(self.responses[0]["presentation_order"], 666)
def test_put(self): """ Attempt to update a step, changing it presentation order """ context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step = self.get_dummy_step() step['questionnaire_id'] = context['questionnaire_id'] step = yield create_step(step, 'en') step['presentation_order'] = 666 handler = self.request(step, role='admin') yield handler.put(step['id']) self.assertEqual(len(self.responses), 1) self.assertEqual(step['id'], self.responses[0]['id']) self.assertEqual(self.responses[0]['presentation_order'], 666)
def test_post_create_from_template(self): """ Attempt to create a new field from template via post request """ values = helpers.get_dummy_field() values['instance'] = 'template' field_template = yield create_field(1, values, 'en') context = yield create_context(1, copy.deepcopy(self.dummyContext), 'en') values = helpers.get_dummy_field() values['instance'] = 'reference' values['template_id'] = field_template['id'] values['step_id'] = yield get_id_of_first_step_of_questionnaire(context['questionnaire_id']) handler = self.request(values, role='admin') response = yield handler.post() self.assertIn('id', response) self.assertNotEqual(response.get('options'), None)
def fill_data(self): # fill_data/create_admin self.dummyAdminUser = yield create_user(1, copy.deepcopy(self.dummyAdminUser), 'en') # fill_data/create_custodian self.dummyCustodianUser = yield create_user(1, copy.deepcopy(self.dummyCustodianUser), 'en') # fill_data/create_receiver self.dummyReceiver_1 = yield create_user(1, copy.deepcopy(self.dummyReceiver_1), 'en') self.dummyReceiverUser_1['id'] = self.dummyReceiver_1['id'] self.dummyReceiver_2 = yield create_user(1, copy.deepcopy(self.dummyReceiver_2), 'en') self.dummyReceiverUser_2['id'] = self.dummyReceiver_2['id'] receivers_ids = [self.dummyReceiver_1['id'], self.dummyReceiver_2['id']] yield mock_users_keys() # fill_data/create_context self.dummyContext['receivers'] = receivers_ids self.dummyContext = yield create_context(1, copy.deepcopy(self.dummyContext), 'en') self.dummyQuestionnaire = yield get_questionnaire(1, self.dummyContext['questionnaire_id'], 'en') self.dummyQuestionnaire['steps'].append(get_dummy_step()) self.dummyQuestionnaire['steps'][1]['questionnaire_id'] = self.dummyContext['questionnaire_id'] self.dummyQuestionnaire['steps'][1]['label'] = 'Whistleblower identity' self.dummyQuestionnaire['steps'][1]['presentation_order'] = 1 self.dummyQuestionnaire['steps'][1] = yield create_step(1, self.dummyQuestionnaire['steps'][1], 'en') if self.complex_field_population: yield self.add_whistleblower_identity_field_to_step(self.dummyQuestionnaire['steps'][1]['id']) for i in range(1, self.population_of_tenants): name = 'tenant-' + str(i+1) t = yield create_tenant({'mode': 'default', 'label': name, 'active': True, 'subdomain': name}) yield tw(db_wizard, t['id'], self.dummyWizard, True, u'en') yield self.set_hostnames(i+1) yield associate_users_of_first_tenant_to_second_tenant()
def test_post_create_from_template(self): """ Attempt to create a new field from template via post request """ values = self.get_dummy_field() values["instance"] = "template" field_template = yield create_field(values, "en") context = yield create_context(copy.deepcopy(self.dummyContext), "en") step_id = yield get_step_id(context["id"]) values = self.get_dummy_field() values["instance"] = "reference" values["template_id"] = field_template["id"] values["step_id"] = yield get_step_id(context["id"]) handler = self.request(values, role="admin") yield handler.post() self.assertEqual(len(self.responses), 1) resp, = self.responses self.assertIn("id", resp) self.assertNotEqual(resp.get("options"), None)
def test_post_create_from_template(self): """ Attempt to create a new field from template via post request """ values = self.get_dummy_field() values['instance'] = 'template' field_template = yield create_field(values, 'en') context = yield create_context(copy.deepcopy(self.dummyContext), 'en') step_id = yield get_step_id(context['id']) values = self.get_dummy_field() values['instance'] = 'reference' values['template_id'] = field_template['id'] values['step_id'] = yield get_step_id(context['id']) handler = self.request(values, role='admin') yield handler.post() self.assertEqual(len(self.responses), 1) resp, = self.responses self.assertIn('id', resp) self.assertNotEqual(resp.get('options'), None)