summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2015-08-20 22:21:51 -0700
committerelijah <elijah@riseup.net>2015-08-20 22:21:51 -0700
commit9b64c2897bff6121e854a7a39351e1398085e2b0 (patch)
tree6787badfc5b1aa2445cf1f444d9091223babf82c
parenta98988509db855d151d180f864191682caddf400 (diff)
added script to delete test users
-rwxr-xr-xruby/destroy-all-test-users32
-rwxr-xr-xruby/destroy-all-user-dbs14
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
+
+
+