def setUp(self):
        super(TestApplicationList, self).setUp()

        self.user1 = AuthUserFactory()
        self.user2 = AuthUserFactory()

        self.user1_apps = [
            ApiOAuth2ApplicationFactory(owner=self.user1) for i in xrange(3)
        ]
        self.user2_apps = [
            ApiOAuth2ApplicationFactory(owner=self.user2) for i in xrange(2)
        ]

        self.user1_list_url = _get_application_list_url()
        self.user2_list_url = _get_application_list_url()

        self.sample_data = {
            'data': {
                'type': 'applications',
                'attributes': {
                    'name': 'A shiny new application',
                    'description': "It's really quite shiny",
                    'home_url': 'http://osf.io',
                    'callback_url': 'https://cos.io',
                    'owner': 'Value discarded',
                    'client_id': 'Value discarded',
                    'client_secret': 'Value discarded',
                }
            }
        }
Example #2
0
    def test_other_user_should_see_only_their_applications(self, app, url):
        other_user = AuthUserFactory()
        other_user_apps = [
            ApiOAuth2ApplicationFactory(owner=other_user) for i in xrange(2)
        ]

        res = app.get(url, auth=other_user.auth)
        assert len(res.json['data']) == len(other_user_apps)
Example #3
0
    def setUp(self):
        super(TestApplicationReset, self).setUp()

        self.user1 = AuthUserFactory()

        self.user1_app = ApiOAuth2ApplicationFactory(owner=self.user1)
        self.user1_reset_url = _get_application_reset_route(self.user1_app)

        self.correct = {
            'data': {
                'id': self.user1_app.client_id,
                'type': 'applications',
                'attributes': {
                    'name': 'A shiny new application',
                    'home_url': 'http://osf.io',
                    'callback_url': 'https://cos.io'
                }
            }
        }
 def test_long_description_raises_exception(self):
     long_desc = ('JohnJacobJingelheimerSchmidtHisNameIsMyN' * 25) + 'a'
     with pytest.raises(DataError):
         api_app = ApiOAuth2ApplicationFactory(description=long_desc)
         api_app.save()
 def test_name_cannot_be_blank(self):
     with pytest.raises(ValidationError):
         api_app = ApiOAuth2ApplicationFactory(name='')
         api_app.save()
 def test_invalid_callback_url_raises_exception(self):
     with pytest.raises(ValidationError):
         api_app = ApiOAuth2ApplicationFactory(callback_url='itms://itunes.apple.com/us/app/apple-store/id375380948?mt=8')
         api_app.save()
 def test_invalid_home_url_raises_exception(self):
     with pytest.raises(ValidationError):
         api_app = ApiOAuth2ApplicationFactory(home_url='Totally not a URL')
         api_app.save()
 def test_must_have_owner(self):
     with pytest.raises(ValidationError):
         api_app = ApiOAuth2ApplicationFactory(owner=None)
         api_app.save()
 def setUp(self):
     super(TestApiOAuth2Application, self).setUp()
     self.api_app = ApiOAuth2ApplicationFactory()
Example #10
0
 def user_app(self, user):
     return ApiOAuth2ApplicationFactory(owner=user)
Example #11
0
    def setUp(self):
        super(TestApplicationDetail, self).setUp()

        self.user1 = AuthUserFactory()
        self.user2 = AuthUserFactory()

        self.user1_app = ApiOAuth2ApplicationFactory(owner=self.user1)
        self.user1_app_url = _get_application_detail_route(self.user1_app)

        self.missing_id = {
            'data': {
                'type': 'applications',
                'attributes': {
                    'name': 'A shiny new application',
                    'home_url': 'http://osf.io',
                    'callback_url': 'https://cos.io'
                }
            }
        }

        self.missing_type = {
            'data': {
                'id': self.user1_app.client_id,
                'attributes': {
                    'name': 'A shiny new application',
                    'home_url': 'http://osf.io',
                    'callback_url': 'https://cos.io'
                }
            }
        }

        self.incorrect_id = {
            'data': {
                'id': '12345',
                'type': 'applications',
                'attributes': {
                    'name': 'A shiny new application',
                    'home_url': 'http://osf.io',
                    'callback_url': 'https://cos.io'
                }
            }
        }

        self.incorrect_type = {
            'data': {
                'id': self.user1_app.client_id,
                'type': 'Wrong type.',
                'attributes': {
                    'name': 'A shiny new application',
                    'home_url': 'http://osf.io',
                    'callback_url': 'https://cos.io'
                }
            }
        }

        self.correct = {
            'data': {
                'id': self.user1_app.client_id,
                'type': 'applications',
                'attributes': {
                    'name': 'A shiny new application',
                    'home_url': 'http://osf.io',
                    'callback_url': 'https://cos.io'
                }
            }
        }