An unofficial, mostly Bitwarden-compatible API server written in Ruby (Sinatra and ActiveRecord)
at master 28 lines 868 B view raw
1require_relative "spec_helper.rb" 2 3@access_token = nil 4 5describe "db module" do 6 it "should support finding objects by columns" do 7 rand = SecureRandom.hex 8 9 u = User.new 10 u.email = "#{rand}@#{rand}.com" 11 u.password_hash = Bitwarden.hashPassword("blah", u.email, 12 User::DEFAULT_KDF_TYPE, 13 Bitwarden::KDF::DEFAULT_ITERATIONS[User::DEFAULT_KDF_TYPE]), 14 u.password_hint = nil 15 u.key = Bitwarden.makeEncKey( 16 Bitwarden.makeKey("blah", u.email, User::DEFAULT_KDF_TYPE, 17 Bitwarden::KDF::DEFAULT_ITERATIONS[User::DEFAULT_KDF_TYPE]) 18 ) 19 u.culture = "en-US" 20 u.save.must_equal true 21 22 uuid = u.uuid 23 24 User.where(email: u.email, culture: "en-US").all.first.uuid.must_equal uuid 25 User.find_by(email: u.email, culture: "en-US").uuid.must_equal uuid 26 User.find_by(email: u.email, culture: "en-NO").must_be_nil 27 end 28end