def test_user_generate_apikey_saml2_user(self): saml_user = factories.InternalUser() context = {'user': saml_user['name']} data_dict = {'id': saml_user['id']} result = toolkit.get_action('user_generate_apikey')(context, data_dict) assert type(result) == dict assert saml_user['apikey'] != result['apikey']
def test_user_update_change_apikey_saml2_user(self): saml_user = factories.InternalUser() context = {'user': saml_user['name']} data_dict = saml_user.copy() data_dict['apikey'] = 'f00b42' data_dict['email'] = '*****@*****.**' result = toolkit.get_action('user_update')(context, data_dict) assert result['email'] != '*****@*****.**'
def test_user_update_kobo_token_saml2_user(self, kobo_surveys): kobo_surveys.return_value = [] saml_user = factories.InternalUser() context = {'user': saml_user['name']} # this should not raise an exception saml_user['plugin_extras'] = {'unhcr': {'kobo_token': 'abc123'}} toolkit.get_action('user_update')(context, saml_user) userobj = model.User.get(saml_user['id']) assert userobj.plugin_extras['unhcr']['kobo_token'] == 'abc123'
def setup(self, get_total_submissions, create_kobo_resources): get_total_submissions.return_value = 5 # any, > 0 self.kobo_user = factories.InternalKoBoUser() self.internal_user = factories.InternalUser() self.data_container = factories.DataContainer(users=[ { 'name': self.kobo_user['name'], 'capacity': 'editor' }, { 'name': self.internal_user['name'], 'capacity': 'member' }, ]) self.kobo_test_asset_id = 'test_kobo_id_1234' self.kobo_dataset = factories.Dataset( name='kobo-dataset', title='KoBo Dataset', owner_org=self.data_container['name'], data_collection_technique='f2f', sampling_procedure='nonprobability', operational_purpose_of_data='cartography', user=self.kobo_user, kobo_asset_id=self.kobo_test_asset_id, ) base_resource = dict(name='kobo-resource', package_id='kobo-dataset', url_type='upload', visibility='restricted', upload=mocks.FakeFileStorage(), url='original-file.csv', format='csv', kobo_type='data', kobo_details={ 'kobo_export_id': 'test_export_id', 'kobo_asset_id': self.kobo_test_asset_id, 'kobo_download_status': 'pending', 'kobo_download_attempts': 1, 'kobo_submission_count': 3, 'kobo_last_updated': datetime.datetime.utcnow().isoformat(), }) self.kobo_resource = factories.Resource(**base_resource) base_resource['kobo_details']['kobo_download_attempts'] = 5 base_resource['upload'] = mocks.FakeFileStorage() self.kobo_resource_last_attempt = factories.Resource(**base_resource)
def setup(self): # Users self.internal_user = factories.InternalUser() self.internal_editor_user = factories.InternalUser() self.kobo_user = factories.InternalKoBoUser() self.internal_admin_user = factories.InternalUser() self.external_user = factories.ExternalUser() self.data_container = factories.DataContainer(users=[ { 'name': self.internal_admin_user['name'], 'capacity': 'admin' }, { 'name': self.internal_editor_user['name'], 'capacity': 'editor' }, { 'name': self.kobo_user['name'], 'capacity': 'editor' }, ])
def test_fail_user_update_saml2_user(self): saml_user = factories.InternalUser() context = {'user': saml_user['name']} with pytest.raises(toolkit.ValidationError): toolkit.get_action('user_update')(context, saml_user)