diff options
author | elijah <elijah@riseup.net> | 2015-08-20 22:21:51 -0700 |
---|---|---|
committer | elijah <elijah@riseup.net> | 2015-08-20 22:21:51 -0700 |
commit | 9b64c2897bff6121e854a7a39351e1398085e2b0 (patch) | |
tree | 6787badfc5b1aa2445cf1f444d9091223babf82c | |
parent | a98988509db855d151d180f864191682caddf400 (diff) |
added script to delete test users
-rwxr-xr-x | ruby/destroy-all-test-users | 32 | ||||
-rwxr-xr-x | ruby/destroy-all-user-dbs | 14 |
2 files changed, 46 insertions, 0 deletions
diff --git a/ruby/destroy-all-test-users b/ruby/destroy-all-test-users new file mode 100755 index 0000000..45d7055 --- /dev/null +++ b/ruby/destroy-all-test-users @@ -0,0 +1,32 @@ +#!/usr/bin/ruby + +# +# Clean up cruft left over by bad tests. +# +# Removes all 'test_user_x' users from the users db, along with the +# corresponding indentities and storage db. +# + +require 'couchrest' + +users_db_name = 'users' +#user_db_name = 'tmp_users' +identities_db_name = 'identities' + +server = CouchRest::Server.new +users_db = server.database(users_db_name) +identities_db = server.database(identities_db_name) + +records = db.view('User/by_login', :reduce => false, :startkey => 'test_user_', :endkey => 'test_user_'+"\u{fff}")['rows'] +records.each do |record| + user_id = record['id'] + username = record['key'] + storage_db = server.database("user-" + user_id) + storage_db.delete! rescue RestClient::ResourceNotFound + identities_db.view('Identity/by_user_id', :reduce => false, :startkey => user_id, :endkey => user_id)['rows'].each do |row| + identities_db.delete_doc(row['id']) + end +end + +users_db.compact! +identities_db.compact! diff --git a/ruby/destroy-all-user-dbs b/ruby/destroy-all-user-dbs new file mode 100755 index 0000000..84cec56 --- /dev/null +++ b/ruby/destroy-all-user-dbs @@ -0,0 +1,14 @@ +#!/usr/bin/ruby + +require 'couchrest' + +server = CouchRest::Server.new + +server.databases.each do |db_name| + if db_name =~ /^user-[a-f0-9]{32}$/ + server.database(db_name).delete! + end +end + + + |