summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/plugin_spec.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-02-28 12:16:23 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2018-02-28 12:16:23 +0200
commit2577ff7fd656f301c4b1909f0a1c358c8c30a614 (patch)
treea7c04e89e47df5610fdd189597c58d48f9075e76 /spec/lib/gitlab/plugin_spec.rb
parent4eed9a12216296709306ce29faf607d8aed2a913 (diff)
downloadgitlab-ce-2577ff7fd656f301c4b1909f0a1c358c8c30a614.tar.gz
Refactor plugins feature and make some doc improvements
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'spec/lib/gitlab/plugin_spec.rb')
-rw-r--r--spec/lib/gitlab/plugin_spec.rb16
1 files changed, 10 insertions, 6 deletions
diff --git a/spec/lib/gitlab/plugin_spec.rb b/spec/lib/gitlab/plugin_spec.rb
index a01e1383e3b..33dd4f79130 100644
--- a/spec/lib/gitlab/plugin_spec.rb
+++ b/spec/lib/gitlab/plugin_spec.rb
@@ -5,6 +5,9 @@ describe Gitlab::Plugin do
let(:data) { Gitlab::DataBuilder::Push::SAMPLE_DATA }
let(:plugin) { Rails.root.join('plugins', 'test.rb') }
let(:tmp_file) { Tempfile.new('plugin-dump') }
+ let(:result) { described_class.execute(plugin.to_s, data) }
+ let(:success) { result.first }
+ let(:message) { result.last }
let(:plugin_source) do
<<~EOS
@@ -22,8 +25,6 @@ describe Gitlab::Plugin do
FileUtils.rm(plugin)
end
- subject { described_class.execute(plugin.to_s, data) }
-
context 'successful execution' do
before do
File.chmod(0o777, plugin)
@@ -33,17 +34,19 @@ describe Gitlab::Plugin do
tmp_file.close!
end
- it { is_expected.to be true }
+ it { expect(success).to be true }
+ it { expect(message).to be_empty }
it 'ensures plugin received data via stdin' do
- subject
+ result
expect(File.read(tmp_file.path)).to eq(data.to_json)
end
end
context 'non-executable' do
- it { is_expected.to be false }
+ it { expect(success).to be false }
+ it { expect(message).to include('Permission denied') }
end
context 'non-zero exit' do
@@ -58,7 +61,8 @@ describe Gitlab::Plugin do
File.chmod(0o777, plugin)
end
- it { is_expected.to be false }
+ it { expect(success).to be false }
+ it { expect(message).to be_empty }
end
end
end