Commit 0e6a211
Changed files (2)
lib
elelem
spec
elelem
lib/elelem/permissions.rb
@@ -8,10 +8,8 @@ module Elelem
".elelem/permissions.json"
].freeze
- def initialize
- @rules = LOAD_PATHS.reduce({}) do |rules, path|
- rules.merge(load_config(File.expand_path(path)))
- end
+ def initialize(rules: default_rules)
+ @rules = rules
end
def check(tool_name, args, terminal:)
@@ -41,5 +39,11 @@ module Elelem
true
end
+
+ def default_rules
+ LOAD_PATHS.reduce({}) do |rules, path|
+ rules.merge(load_config(File.expand_path(path)))
+ end
+ end
end
end
spec/elelem/permissions_spec.rb
@@ -14,11 +14,9 @@ RSpec.describe Elelem::Permissions do
end
context "with deny policy" do
- it "raises an error" do
- permissions = described_class.new
- permissions.instance_variable_set(:@rules, { write: :deny })
- expect { permissions.check("write", {}, terminal: terminal) }.to raise_error(/Permission denied/)
- end
+ subject { described_class.new(rules: { write: :deny }) }
+
+ it { expect { subject.check("write", {}, terminal: terminal) }.to raise_error(/Permission denied/) }
end
context "with ask policy in non-TTY mode" do