class TestAddonListView(AdminTestCase): def setUp(self): super(TestAddonListView, self).setUp() self.user = AuthUserFactory() self.institution1 = InstitutionFactory() self.institution2 = InstitutionFactory() self.user.affiliated_institutions.add(self.institution1) self.request = RequestFactory().get('/fake_path') self.view = views.AddonListView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = {'institution_id': self.institution1.id} def tearDown(self): super(TestAddonListView, self).tearDown() self.user.affiliated_institutions.remove(self.institution1) self.user.delete() self.institution1.delete() self.institution2.delete() def test_super_admin_login(self): """test superuser login""" self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_registered = False nt.assert_equal(self.view.test_func(), False) def test_non_affiliated_institution_user_login(self): """test user unaffiliated institution login""" self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs = {'institution_id': self.institution1.id + 1} nt.assert_equal(self.view.test_func(), False)
class TestCreateCSV(AdminTestCase): """test ImageView""" def setUp(self): super(TestCreateCSV, self).setUp() self.user = AuthUserFactory() self.request = RequestFactory().get('/fake_path') self.institution1 = InstitutionFactory() self.user.affiliated_institutions.add(self.institution1) self.kwargs = {'institution_id': self.institution1.id} self.rdm_statistics = rdm_statistics_factories.RdmStatisticsFactory.create( institution=self.institution1, provider='s3', owaner=self.user) self.rdm_statistics.save() def tearDown(self): super(TestCreateCSV, self).tearDown() self.user.affiliated_institutions.remove(self.institution1) self.user.delete() self.institution1.delete()
class TestSettingsView(AdminTestCase): def setUp(self): super(TestSettingsView, self).setUp() self.user = AuthUserFactory() self.institution = InstitutionFactory() self.user.affiliated_institutions.add(self.institution) self.request = RequestFactory().get('/fake_path') self.view = views.SettingsView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = { 'addon_name': 'dataverse', 'institution_id': self.institution.id, } def tearDown(self): super(TestSettingsView, self).tearDown() self.user.affiliated_institutions.remove() self.user.delete() self.institution.delete() def test_super_admin_login(self): """test superuser login""" self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_registered = False nt.assert_equal(self.view.test_func(), False) def test_non_affiliated_institution_user_login(self): """test user unaffiliated institution login""" self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs = {'institution_id': self.institution.id + 1} nt.assert_equal(self.view.test_func(), False) def test_get_dataverse(self, *args, **kwargs): self.request.user.is_superuser = False self.request.user.is_staff = True res = self.view.get(self.request, *args, **self.view.kwargs) nt.assert_equal(res.status_code, 200) nt.assert_true('result' in res.content) def test_get_dummy_addon(self, *args, **kwargs): self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs['addon_name'] = 'dummy' res = self.view.get(self.request, *args, **self.view.kwargs) nt.assert_equal(res.status_code, 200) self.assertJSONEqual(res.content, {})
class TestAddonAllowView(AdminTestCase): def setUp(self): super(TestAddonAllowView, self).setUp() self.user = AuthUserFactory() self.institution1 = InstitutionFactory() self.external_account = ExternalAccountFactory() self.rdm_addon_option = rdm_addon_factories.RdmAddonOptionFactory() self.rdm_addon_option.external_accounts.add(self.external_account) self.rdm_addon_option.save() self.user.affiliated_institutions.add( self.rdm_addon_option.institution) self.user.external_accounts.add(self.external_account) self.user.save() self.request = RequestFactory().get('/fake_path') self.view = views.AddonAllowView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = { 'addon_name': self.rdm_addon_option.provider, 'institution_id': self.rdm_addon_option.institution.id, 'allowed': '1', } def tearDown(self): super(TestAddonAllowView, self).tearDown() institution = self.rdm_addon_option.institution self.user.affiliated_institutions.remove(institution) if self.user.external_accounts.filter( pk=self.external_account.id).exists(): self.user.external_accounts.remove(self.external_account) self.user.delete() self.institution1.delete() self.rdm_addon_option.external_accounts.remove(self.external_account) self.rdm_addon_option.delete() institution.delete() self.external_account.delete() def test_super_admin_login(self): """test superuser login""" self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_registered = False nt.assert_equal(self.view.test_func(), False) def test_non_affiliated_institution_user_login(self): """test user unaffiliated institution login""" self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs = { 'institution_id': self.rdm_addon_option.institution.id + 1 } nt.assert_equal(self.view.test_func(), False) def test_get(self, *args, **kwargs): self.view.get(self.request, *args, **self.view.kwargs) rdm_addon_option = utils.get_rdm_addon_option( self.rdm_addon_option.institution.id, self.view.kwargs['addon_name']) nt.assert_true(rdm_addon_option.is_allowed) nt.assert_equal(rdm_addon_option.provider, self.view.kwargs['addon_name']) nt.assert_equal(rdm_addon_option.institution_id, self.view.kwargs['institution_id']) def test_get_disallowed(self, *args, **kwargs): self.view.kwargs['allowed'] = False self.view.get(self.request, *args, **self.view.kwargs) rdm_addon_option = utils.get_rdm_addon_option( self.rdm_addon_option.institution.id, self.view.kwargs['addon_name']) nt.assert_equal(rdm_addon_option.is_allowed, False) nt.assert_equal(rdm_addon_option.provider, self.view.kwargs['addon_name']) nt.assert_equal(rdm_addon_option.institution_id, self.view.kwargs['institution_id']) nt.assert_equal( self.user.external_accounts.filter( pk=self.external_account.id).exists(), False)
class TestclassStatisticsView(AdminTestCase): """test StatisticsView""" def setUp(self): super(TestclassStatisticsView, self).setUp() self.user = AuthUserFactory() self.institution1 = InstitutionFactory() self.user.affiliated_institutions.add(self.institution1) self.request = RequestFactory().get('/fake_path') self.view = views.StatisticsView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = {'institution_id': self.institution1.id} def tearDown(self): super(TestclassStatisticsView, self).tearDown() self.user.affiliated_institutions.remove(self.institution1) self.user.delete() self.institution1.delete() def test_super_admin_login(self): """test superuser login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False self.request.user.is_registered = True self.request.user.is_superuser = True self.request.user.is_staff = True nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_active = True self.request.user.is_registered = False self.request.user.is_superuser = True self.request.user.is_staff = True nt.assert_equal(self.view.test_func(), False) def test_non_affiliated_institution_user_login(self): """test user unaffiliated institution login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs = {'institution_id': self.institution1.id + 1} nt.assert_equal(self.view.test_func(), False) self.view.kwargs = {'institution_id': self.institution1.id} def test_get_context_data(self, **kwargs): """contextのテスト""" ctx = self.view.get_context_data(**self.view.kwargs) nt.assert_is_instance(ctx['institution'], Institution) nt.assert_equal(ctx['institution'].id, self.institution1.id) nt.assert_true('current_date' in ctx) nt.assert_true('user' in ctx) nt.assert_true('provider_data_array' in ctx) nt.assert_true('token' in ctx)
class TestSendView(AdminTestCase): """test SendView""" def setUp(self): super(TestSendView, self).setUp() self.user = AuthUserFactory() self.request = RequestFactory().get('/fake_path') self.user = AuthUserFactory() self.institution1 = InstitutionFactory() self.user.affiliated_institutions.add(self.institution1) self.view = views.SendView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = {'institution_id': self.institution1.id} def tearDown(self): super(TestSendView, self).tearDown() self.user.affiliated_institutions.remove(self.institution1) self.user.delete() self.institution1.delete() def test_super_admin_login(self): """test superuser login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False self.request.user.is_registered = True self.request.user.is_superuser = True self.request.user.is_staff = True nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_active = True self.request.user.is_registered = False self.request.user.is_superuser = True self.request.user.is_staff = True nt.assert_equal(self.view.test_func(), False) def test_non_affiliated_institution_user_login(self): """test user unaffiliated institution login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs = {'institution_id': self.institution1.id + 1} nt.assert_equal(self.view.test_func(), False) self.view.kwargs = {'institution_id': self.institution1.id} def test_valid_get(self, *args, **kwargs): """test valid GET method""" res = self.view.get(self.request, *args, **self.view.kwargs) nt.assert_equal(res.status_code, 200) def test_invalid_get(self, *args, **kwargs): """test invalid GET method""" self.view.kwargs = {'institution_id': 100} res = self.view.get(self.request, *args, **self.view.kwargs) nt.assert_equal(res.status_code, 200)
class TestImageView(AdminTestCase): """test ImageView""" def setUp(self): super(TestImageView, self).setUp() self.user = AuthUserFactory() self.request = RequestFactory().get('/fake_path') self.institution1 = InstitutionFactory() self.user.affiliated_institutions.add(self.institution1) self.rdm_statistics = rdm_statistics_factories.RdmStatisticsFactory.create( institution=self.institution1, provider='s3', owner=self.user) self.rdm_statistics.save() self.view = views.ImageView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = {'graph_type': 'ext'} self.view.kwargs = {'provider': 's3'} self.view.kwargs = {'institution_id': self.institution1.id} def tearDown(self): super(TestImageView, self).tearDown() self.user.affiliated_institutions.remove(self.institution1) self.user.delete() self.institution1.delete() self.rdm_statistics.delete() def test_super_admin_login(self): """test superuser login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False self.request.user.is_registered = True self.request.user.is_superuser = True self.request.user.is_staff = True nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_active = True self.request.user.is_registered = False self.request.user.is_superuser = True self.request.user.is_staff = True nt.assert_equal(self.view.test_func(), False) def test_non_affiliated_institution_user_login(self): """test user unaffiliated institution login""" self.request.user.is_active = True self.request.user.is_registered = True self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs = {'institution_id': self.institution1.id + 1} nt.assert_equal(self.view.test_func(), False) self.view.kwargs = {'institution_id': self.institution1.id}
class TestCallbackView(AdminTestCase): def setUp(self): super(TestCallbackView, self).setUp() self.user = AuthUserFactory() self.external_account = ExternalAccountFactory() self.institution = InstitutionFactory() self.provider = MockOAuth2Provider(self.external_account) self.user.affiliated_institutions.add(self.institution) app = flask.Flask(__name__) make_url_map(app) app.config['SECRET_KEY'] = 'aaaaa' self.ctx = app.test_request_context() self.ctx.push() self.request = RequestFactory().get('/fake_path') add_session_to_request(self.request) self.view0 = views.ConnectView() self.view0 = setup_user_view(self.view0, self.request, user=self.user) self.view0.kwargs = { 'addon_name': self.external_account.provider, 'institution_id': self.institution.id, } self.view = views.CallbackView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = { 'addon_name': self.external_account.provider, 'institution_id': self.institution.id, } def tearDown(self): super(TestCallbackView, self).tearDown() self.user.affiliated_institutions.remove(self.institution) self.user.delete() self.institution.delete() self.external_account.delete() try: self.ctx.pop() except AssertionError: pass def test_super_admin_login(self): """test superuser login""" self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_registered = False nt.assert_equal(self.view.test_func(), False)
class TestConnectView(AdminTestCase): def setUp(self): super(TestConnectView, self).setUp() self.user = AuthUserFactory() self.external_account = ExternalAccountFactory() self.institution = InstitutionFactory() self.user.affiliated_institutions.add(self.institution) self.provider = MockOAuth2Provider(self.external_account) self.request = RequestFactory().get('/fake_path') add_session_to_request(self.request) self.view = views.ConnectView() self.view = setup_user_view(self.view, self.request, user=self.user) self.view.kwargs = { 'addon_name': self.external_account.provider, 'institution_id': self.institution.id, } def tearDown(self): super(TestConnectView, self).tearDown() self.user.affiliated_institutions.remove(self.institution) self.user.delete() self.institution.delete() self.external_account.delete() def test_super_admin_login(self): """test superuser login""" self.request.user.is_superuser = True nt.assert_true(self.view.test_func()) def test_admin_login(self): """test institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = True nt.assert_true(self.view.test_func()) def test_non_admin_login(self): """test user not superuser or institution administrator login""" self.request.user.is_superuser = False self.request.user.is_staff = False nt.assert_equal(self.view.test_func(), False) def test_non_active_user_login(self): """test invalid user login""" self.request.user.is_active = False nt.assert_equal(self.view.test_func(), False) def test_non_registered_user_login(self): """test unregistered user login""" self.request.user.is_registered = False nt.assert_equal(self.view.test_func(), False) def test_non_affiliated_institution_user_login(self): """test user unaffiliated institution login""" self.request.user.is_superuser = False self.request.user.is_staff = True self.view.kwargs = {'institution_id': self.institution.id + 1} nt.assert_equal(self.view.test_func(), False) def test_get(self, *args, **kwargs): self.request.user.is_superuser = False self.request.user.is_staff = True res = self.view.get(self.request, *args, **self.view.kwargs) nt.assert_equal(res.status_code, 302)