예제 #1
0
    def test_one_user_with_multiple_addons(self):
        results = AddonSnapshot().get_events()
        github_res = [
            res for res in results if res['provider']['name'] == 'github'
        ][0]
        googledrive_res = [
            res for res in results if res['provider']['name'] == 'googledrive'
        ][0]
        assert_equal(github_res['users']['total'], 1)
        assert_equal(googledrive_res['users']['total'], 0)

        self.user.add_addon('googledrive')
        oauth_settings = GoogleDriveAccountFactory()
        oauth_settings.save()
        self.user.external_accounts.append(oauth_settings)
        self.user.save()
        results = AddonSnapshot().get_events()
        github_res = [
            res for res in results if res['provider']['name'] == 'github'
        ][0]
        googledrive_res = [
            res for res in results if res['provider']['name'] == 'googledrive'
        ][0]
        assert_equal(github_res['users']['total'], 1)
        assert_equal(googledrive_res['users']['total'], 1)
예제 #2
0
 def test_fetch_access_token_with_token_not_expired(self):
     external_account = GoogleDriveAccountFactory()
     self.user.external_accounts.append(external_account)
     external_account.expires_at = datetime.utcnow() + relativedelta.relativedelta(minutes=6)
     external_account.oauth_key = 'fake-token'
     external_account.save()
     self.node_settings.set_auth(external_account, self.user)
     assert_equal(self.node_settings.fetch_access_token(), 'fake-token')
예제 #3
0
 def test_fetch_access_token_with_token_not_expired(self):
     external_account = GoogleDriveAccountFactory()
     self.user.external_accounts.append(external_account)
     external_account.expires_at = datetime.utcnow(
     ) + relativedelta.relativedelta(minutes=6)
     external_account.oauth_key = 'fake-token'
     external_account.save()
     self.node_settings.set_auth(external_account, self.user)
     assert_equal(self.node_settings.fetch_access_token(), 'fake-token')
예제 #4
0
    def test_one_user_with_multiple_addons(self):
        results = AddonSnapshot().get_events()
        github_res = [res for res in results if res["provider"]["name"] == "github"][0]
        googledrive_res = [res for res in results if res["provider"]["name"] == "googledrive"][0]
        assert_equal(github_res["users"]["enabled"], 1)
        assert_equal(googledrive_res["users"]["enabled"], 0)

        self.user.add_addon("googledrive")
        oauth_settings = GoogleDriveAccountFactory()
        oauth_settings.save()
        self.user.external_accounts.append(oauth_settings)
        self.user.save()
        results = AddonSnapshot().get_events()
        github_res = [res for res in results if res["provider"]["name"] == "github"][0]
        googledrive_res = [res for res in results if res["provider"]["name"] == "googledrive"][0]
        assert_equal(github_res["users"]["enabled"], 1)
        assert_equal(googledrive_res["users"]["enabled"], 1)
예제 #5
0
    def test_one_user_with_multiple_addons(self):
        results = AddonSnapshot().get_events()
        github_res = [res for res in results if res['provider']['name'] == 'github'][0]
        googledrive_res = [res for res in results if res['provider']['name'] == 'googledrive'][0]
        assert_equal(github_res['users']['total'], 1)
        assert_equal(googledrive_res['users']['total'], 0)

        self.user.add_addon('googledrive')
        oauth_settings = GoogleDriveAccountFactory()
        oauth_settings.save()
        self.user.external_accounts.append(oauth_settings)
        self.user.save()
        results = AddonSnapshot().get_events()
        github_res = [res for res in results if res['provider']['name'] == 'github'][0]
        googledrive_res = [res for res in results if res['provider']['name'] == 'googledrive'][0]
        assert_equal(github_res['users']['total'], 1)
        assert_equal(googledrive_res['users']['total'], 1)
예제 #6
0
    def test_fetch_access_token_with_token_expired(self, mock_refresh):
        external_account = GoogleDriveAccountFactory()
        self.user.external_accounts.append(external_account)
        external_account.expires_at = datetime.utcnow() + relativedelta.relativedelta(minutes=4)
        external_account.oauth_key = 'fake-token'
        external_account.refresh_token = 'refresh-fake-token'
        external_account.save()

        fake_token = {
            'access_token': 'new-access-token',
            'refresh_token': 'new-refresh-token',
            'expires_at': 1234.5
        }
        mock_refresh.return_value = fake_token
        self.node_settings.set_auth(external_account, self.user)
        self.node_settings.fetch_access_token()
        mock_refresh.assert_called_once()
        assert_equal(external_account.oauth_key, 'new-access-token')
        assert_equal(external_account.refresh_token, 'new-refresh-token')
        assert_equal(external_account.expires_at, datetime.utcfromtimestamp(1234.5))
예제 #7
0
    def test_fetch_access_token_with_token_expired(self, mock_refresh):
        external_account = GoogleDriveAccountFactory()
        self.user.external_accounts.append(external_account)
        external_account.expires_at = datetime.utcnow(
        ) + relativedelta.relativedelta(minutes=4)
        external_account.oauth_key = 'fake-token'
        external_account.refresh_token = 'refresh-fake-token'
        external_account.save()

        fake_token = {
            'access_token': 'new-access-token',
            'refresh_token': 'new-refresh-token',
            'expires_at': 1234.5
        }
        mock_refresh.return_value = fake_token
        self.node_settings.set_auth(external_account, self.user)
        self.node_settings.fetch_access_token()
        mock_refresh.assert_called_once()
        assert_equal(external_account.oauth_key, 'new-access-token')
        assert_equal(external_account.refresh_token, 'new-refresh-token')
        assert_equal(external_account.expires_at,
                     datetime.utcfromtimestamp(1234.5))
예제 #8
0
    def test_one_node_with_multiple_addons(self):
        results = AddonSnapshot().get_events()
        github_res = [res for res in results if res["provider"]["name"] == "github"][0]
        googledrive_res = [res for res in results if res["provider"]["name"] == "googledrive"][0]
        assert_equal(github_res["nodes"]["total"], 1)
        assert_equal(googledrive_res["nodes"]["total"], 0)

        self.user.add_addon("googledrive")
        user_addon = self.user.get_addon("googledrive")
        oauth_settings = GoogleDriveAccountFactory()
        oauth_settings.save()
        self.user.external_accounts.append(oauth_settings)
        self.user.save()
        self.node.add_addon("googledrive", Auth(self.user))
        node_addon = self.node.get_addon("googledrive")
        node_addon.user = self.user.fullname
        node_addon.user_settings = user_addon
        node_addon.external_account = oauth_settings
        node_addon.save()
        results = AddonSnapshot().get_events()
        github_res = [res for res in results if res["provider"]["name"] == "github"][0]
        googledrive_res = [res for res in results if res["provider"]["name"] == "googledrive"][0]
        assert_equal(github_res["nodes"]["total"], 1)
        assert_equal(googledrive_res["nodes"]["total"], 1)