Example #1
0
 def test_fields(self):
     user_settings = DropboxUserSettings(access_token="12345", dropbox_id="abc", owner=self.user)
     user_settings.save()
     retrieved = DropboxUserSettings.load(user_settings._primary_key)
     assert_true(retrieved.access_token)
     assert_true(retrieved.dropbox_id)
     assert_true(retrieved.owner)
 def test_migrate(self):
     migration.migrate(dry_run=False)
     assert_equal(
         DropboxUserSettings.find().count(),
         6
     )
     assert_equal(
         DropboxNodeSettings.find().count(),
         3
     )
     for user_settings in DropboxUserSettings.find():
         assert_is_not_none(user_settings.owner)
         assert_false(hasattr(user_settings, 'access_token'))
     for node_settings in DropboxNodeSettings.find():
         assert_is_not_none(node_settings.owner)
         if (
                 not node_settings.user_settings or
                 not node_settings.external_account
         ):
             assert_in(
                 node_settings.folder,
                 map(
                     lambda d: d['folder'],
                     self.unauthorized_node_settings_documents
                 )
             )
Example #3
0
 def test_fields(self):
     user_settings = DropboxUserSettings(access_token='12345',
                                         dropbox_id='abc',
                                         owner=self.user)
     user_settings.save()
     retrieved = DropboxUserSettings.load(user_settings._primary_key)
     assert_true(retrieved.access_token)
     assert_true(retrieved.dropbox_id)
     assert_true(retrieved.owner)
Example #4
0
 def test_migrate(self):
     migration.migrate(dry_run=False)
     assert_equal(DropboxUserSettings.find().count(), 6)
     assert_equal(DropboxNodeSettings.find().count(), 3)
     for user_settings in DropboxUserSettings.find():
         assert_is_not_none(user_settings.owner)
         assert_false(hasattr(user_settings, 'access_token'))
     for node_settings in DropboxNodeSettings.find():
         assert_is_not_none(node_settings.owner)
         if (not node_settings.user_settings
                 or not node_settings.external_account):
             assert_in(
                 node_settings.folder,
                 map(lambda d: d['folder'],
                     self.unauthorized_node_settings_documents))
Example #5
0
def get_dropbox_metrics():
    metrics = {
        'enabled': [],
        'authorized': [],
        'linked': [],
    }
    for node_settings in DropboxUserSettings.find():
        metrics['enabled'].append(node_settings)
        if node_settings.has_auth:
            metrics['authorized'].append(node_settings)
        if node_settings.nodes_authorized:
            metrics['linked'].append(node_settings)
    return metrics
Example #6
0
def get_dropbox_metrics():
    metrics = {
        'enabled': [],
        'authorized': [],
        'linked': [],
    }
    for node_settings in DropboxUserSettings.find():
        metrics['enabled'].append(node_settings)
        if node_settings.has_auth:
            metrics['authorized'].append(node_settings)
        if node_settings.nodes_authorized:
            metrics['linked'].append(node_settings)
    return metrics
Example #7
0
def get_dropbox_metrics():
    queryset = DropboxUserSettings.find(Q('deleted', 'eq', False))
    num_enabled = 0     # of users w/ 1+ DB account connected
    num_authorized = 0  # of users w/ 1+ DB account connected to 1+ node
    num_linked = 0      # of users w/ 1+ DB account connected to 1+ node w/ a folder linked
    for user_settings in queryset:
        if user_settings.has_auth:
            num_enabled += 1
            node_settings_list = [Node.load(guid).get_addon('dropbox') for guid in user_settings.oauth_grants.keys()]
            if any([ns.has_auth for ns in node_settings_list if ns]):
                num_authorized += 1
                if any([(ns.complete and ns.folder) for ns in node_settings_list if ns]):
                    num_linked += 1
    return {
        'enabled': num_enabled,
        'authorized': num_authorized,
        'linked': num_linked
    }
Example #8
0
def get_dropbox_metrics():
    queryset = DropboxUserSettings.find(Q('deleted', 'eq', False))
    num_enabled = 0  # of users w/ 1+ DB account connected
    num_authorized = 0  # of users w/ 1+ DB account connected to 1+ node
    num_linked = 0  # of users w/ 1+ DB account connected to 1+ node w/ a folder linked
    for user_settings in queryset:
        if user_settings.has_auth:
            num_enabled += 1
            node_settings_list = [
                Node.load(guid).get_addon('dropbox')
                for guid in user_settings.oauth_grants.keys()
            ]
            if any([ns.has_auth for ns in node_settings_list if ns]):
                num_authorized += 1
                if any([(ns.complete and ns.folder)
                        for ns in node_settings_list if ns]):
                    num_linked += 1
    return {
        'enabled': num_enabled,
        'authorized': num_authorized,
        'linked': num_linked
    }