From bef746ae7b215db78be088657bbfaf47c774f943 Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 8 Aug 2016 10:25:54 +0200 Subject: [ci] setup couch for gitlab Couch docker image will be available on the host called couchdb. So we use curl to check for it and display the version string. And then we move a couchdb.yml config file into place so the right host will be used. --- test/config/couchdb.admin.yml | 6 ------ test/config/couchdb.yml | 5 ----- test/config/gitlab/couchdb.yml | 4 ++++ test/config/travis/couchdb.admin.yml | 6 ++++++ test/config/travis/couchdb.yml | 5 +++++ test/config/travis/ruby-version | 1 + test/config/travis/setup_couch.sh | 17 +++++++++++++++++ test/travis/ruby-version | 1 - test/travis/setup_couch.sh | 17 ----------------- 9 files changed, 33 insertions(+), 29 deletions(-) delete mode 100644 test/config/couchdb.admin.yml delete mode 100644 test/config/couchdb.yml create mode 100644 test/config/gitlab/couchdb.yml create mode 100644 test/config/travis/couchdb.admin.yml create mode 100644 test/config/travis/couchdb.yml create mode 100644 test/config/travis/ruby-version create mode 100755 test/config/travis/setup_couch.sh delete mode 100644 test/travis/ruby-version delete mode 100755 test/travis/setup_couch.sh (limited to 'test') diff --git a/test/config/couchdb.admin.yml b/test/config/couchdb.admin.yml deleted file mode 100644 index 0988bc1..0000000 --- a/test/config/couchdb.admin.yml +++ /dev/null @@ -1,6 +0,0 @@ -test: - auto_update_design_doc: false - username: "anna" - password: "secret" - prefix: "" - diff --git a/test/config/couchdb.yml b/test/config/couchdb.yml deleted file mode 100644 index 9c8b67b..0000000 --- a/test/config/couchdb.yml +++ /dev/null @@ -1,5 +0,0 @@ -test: - auto_update_design_doc: false - username: "me" - password: "pwd" - prefix: "" diff --git a/test/config/gitlab/couchdb.yml b/test/config/gitlab/couchdb.yml new file mode 100644 index 0000000..5d4f71f --- /dev/null +++ b/test/config/gitlab/couchdb.yml @@ -0,0 +1,4 @@ +test: + auto_update_design_doc: false + host: "couchdb" + prefix: "" diff --git a/test/config/travis/couchdb.admin.yml b/test/config/travis/couchdb.admin.yml new file mode 100644 index 0000000..7c9584c --- /dev/null +++ b/test/config/travis/couchdb.admin.yml @@ -0,0 +1,6 @@ +test: + auto_update_design_doc: false + username: "anna" + password: "secret" + prefix: "" + diff --git a/test/config/travis/couchdb.yml b/test/config/travis/couchdb.yml new file mode 100644 index 0000000..9c8b67b --- /dev/null +++ b/test/config/travis/couchdb.yml @@ -0,0 +1,5 @@ +test: + auto_update_design_doc: false + username: "me" + password: "pwd" + prefix: "" diff --git a/test/config/travis/ruby-version b/test/config/travis/ruby-version new file mode 100644 index 0000000..68b3a4c --- /dev/null +++ b/test/config/travis/ruby-version @@ -0,0 +1 @@ +1.9.3-p551 diff --git a/test/config/travis/setup_couch.sh b/test/config/travis/setup_couch.sh new file mode 100755 index 0000000..0502c12 --- /dev/null +++ b/test/config/travis/setup_couch.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +HOST="http://localhost:5984" +echo "couch version :" +curl -X GET $HOST +echo "creating user :" +curl -HContent-Type:application/json -XPUT $HOST/_users/org.couchdb.user:me --data-binary '{"_id": "org.couchdb.user:me","name": "me","roles": [],"type": "user","password": "pwd"}' +echo "creating databases :" +curl -X PUT $HOST/sessions +curl -X PUT $HOST/users +curl -X PUT $HOST/tickets +echo "restricting database access :" +curl -X PUT $HOST/sessions/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' +curl -X PUT $HOST/users/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' +curl -X PUT $HOST/tickets/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' +echo "adding admin :" +curl -X PUT $HOST/_config/admins/anna -d '"secret"' diff --git a/test/travis/ruby-version b/test/travis/ruby-version deleted file mode 100644 index 68b3a4c..0000000 --- a/test/travis/ruby-version +++ /dev/null @@ -1 +0,0 @@ -1.9.3-p551 diff --git a/test/travis/setup_couch.sh b/test/travis/setup_couch.sh deleted file mode 100755 index 0502c12..0000000 --- a/test/travis/setup_couch.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -HOST="http://localhost:5984" -echo "couch version :" -curl -X GET $HOST -echo "creating user :" -curl -HContent-Type:application/json -XPUT $HOST/_users/org.couchdb.user:me --data-binary '{"_id": "org.couchdb.user:me","name": "me","roles": [],"type": "user","password": "pwd"}' -echo "creating databases :" -curl -X PUT $HOST/sessions -curl -X PUT $HOST/users -curl -X PUT $HOST/tickets -echo "restricting database access :" -curl -X PUT $HOST/sessions/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' -curl -X PUT $HOST/users/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' -curl -X PUT $HOST/tickets/_security -Hcontent-type:application/json --data-binary '{"admins":{"names":[],"roles":[]},"members":{"names":["me"],"roles":[]}}' -echo "adding admin :" -curl -X PUT $HOST/_config/admins/anna -d '"secret"' -- cgit v1.2.3 From 8fbe70729da1d308a118c930e8f938837484a61c Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 12 Aug 2016 17:26:51 +0200 Subject: [db] def database on users instead of use_database use_database affects all uses of prepare_database - so also the one in tmp_database. In order to avoid that we do not use_database but just overwrite the database method itself. --- test/unit/temporary_user_test.rb | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/unit/temporary_user_test.rb b/test/unit/temporary_user_test.rb index 38ccd67..2c9e70f 100644 --- a/test/unit/temporary_user_test.rb +++ b/test/unit/temporary_user_test.rb @@ -6,16 +6,37 @@ class TemporaryUserTest < ActiveSupport::TestCase InviteCodeValidator.any_instance.stubs(:validate) end - test "tmp_user saved to tmp_users" do - begin - assert User.ancestors.include?(TemporaryUser) + test "TemporaryUser concern is applied" do + assert User.ancestors.include?(TemporaryUser) + end + + test "temporary user has tmp_users as db" do + tmp_user = User.new :login => 'tmp_user_'+SecureRandom.hex(5).downcase + assert_equal 'leap_web_tmp_users', tmp_user.database.name + end + test "normal user has users as db" do + user = User.new :login => 'a'+SecureRandom.hex(5).downcase + assert_equal 'leap_web_users', user.database.name + end + + test "user saved to users" do + begin assert_difference('User.database.info["doc_count"]') do normal_user = User.create!(:login => 'a'+SecureRandom.hex(5).downcase, :password_verifier => 'ABCDEF0010101', :password_salt => 'ABCDEF') refute normal_user.database.to_s.include?('tmp') end + ensure + begin + normal_user.destroy + rescue + end + end + end + test "tmp_user saved to tmp_users" do + begin assert_difference('User.tmp_database.info["doc_count"]') do tmp_user = User.create!(:login => 'tmp_user_'+SecureRandom.hex(5).downcase, :password_verifier => 'ABCDEF0010101', :password_salt => 'ABCDEF') @@ -23,7 +44,6 @@ class TemporaryUserTest < ActiveSupport::TestCase end ensure begin - normal_user.destroy tmp_user.destroy rescue end -- cgit v1.2.3 From 75c037e5d6d8b8f2b98477bdd0359f5687bd7517 Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 12 Aug 2016 23:10:50 +0200 Subject: [ci] use default db prefix on gitlab and travis This makes writing the tests for database names easier as they should be the same strings on gitlab, travis and locally. --- test/config/gitlab/couchdb.yml | 1 - test/config/travis/couchdb.admin.yml | 1 - test/config/travis/couchdb.yml | 1 - 3 files changed, 3 deletions(-) (limited to 'test') diff --git a/test/config/gitlab/couchdb.yml b/test/config/gitlab/couchdb.yml index 5d4f71f..68761dc 100644 --- a/test/config/gitlab/couchdb.yml +++ b/test/config/gitlab/couchdb.yml @@ -1,4 +1,3 @@ test: auto_update_design_doc: false host: "couchdb" - prefix: "" diff --git a/test/config/travis/couchdb.admin.yml b/test/config/travis/couchdb.admin.yml index 7c9584c..a7677f9 100644 --- a/test/config/travis/couchdb.admin.yml +++ b/test/config/travis/couchdb.admin.yml @@ -2,5 +2,4 @@ test: auto_update_design_doc: false username: "anna" password: "secret" - prefix: "" diff --git a/test/config/travis/couchdb.yml b/test/config/travis/couchdb.yml index 9c8b67b..a57b888 100644 --- a/test/config/travis/couchdb.yml +++ b/test/config/travis/couchdb.yml @@ -2,4 +2,3 @@ test: auto_update_design_doc: false username: "me" password: "pwd" - prefix: "" -- cgit v1.2.3