Beispiel #1
0
def delete_follow(db_conn, id_):
    """
  Remove a follow from the database.
  """

    query = """
    DELETE FROM follows
    WHERE id = %(id)s;
  """
    params = {
        'id': convert_slug_to_uuid(id_),
    }
    return delete_row(db_conn, query, params)
def remove_user_subject(db_conn, user_id, subject_id):
    """
  Remove a subject from a user's list of subjects.
  """

    query = """
    DELETE FROM users_subjects
    WHERE user_id = %(user_id)s AND subject_id = %(subject_id)s;
  """
    params = {
        'user_id': convert_slug_to_uuid(user_id),
        'subject_id': convert_slug_to_uuid(subject_id),
    }
    errors = delete_row(db_conn, query, params)
    return errors
Beispiel #3
0
def delete_user(db_conn, user_id):
    """
  Delete a user.
  """
    query = """
    DELETE FROM users
    WHERE id = %(id)s;
  """
    params = {
        'id': user_id,
    }
    errors = delete_row(db_conn, query, params)
    if not errors:
        es.delete(
            index='entity',
            doc_type='user',
            id=convert_uuid_to_slug(user_id),
        )
    return errors
def test_delete_row(db_conn, session):
    params = {
        'id': convert_slug_to_uuid(user_id),
    }

    def get():
        query = """
      SELECT *
      FROM users
      WHERE id = %(id)s
      LIMIT 1;
    """
        result = get_row(db_conn, query, params)
        return result

    assert get()
    query = """
    DELETE FROM users
    WHERE id = %(id)s;
  """
    errors = delete_row(db_conn, query, params)
    assert not errors
    assert not get()
Beispiel #5
0
    'settings': {
        'email_frequency': 'daily',
        'view_subjects': 'public',
        'view_follows': 'public',
    },
}]
raw_insert_users(db_conn, users)

# We have to translate the sample IDs to UUIDs
entity_ids_lookup = {}

# Dropping foreign key checks so the ordering doesn't matter.
query = """
  ALTER TABLE units DISABLE TRIGGER ALL;
"""
delete_row(db_conn, query, {})

for sample_id, unit_data in sample_data['units'].items():
    unit_data['version_id'] = uuid.uuid4()
    if sample_id in entity_ids_lookup:
        unit_data['entity_id'] = entity_ids_lookup[sample_id]
    else:
        unit_data['entity_id'] = entity_ids_lookup[sample_id] = uuid.uuid4()

    u_require_ids = []
    for id_ in unit_data['require_ids']:
        if id_ not in entity_ids_lookup:
            entity_ids_lookup[id_] = uuid.uuid4()
        u_require_ids.append(entity_ids_lookup[id_])
    unit_data['require_ids'] = u_require_ids
def test_delete_row_error(db_conn):
    query = "a;"
    params = {}
    errors = delete_row(db_conn, query, params)
    assert errors