diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2018-02-26 16:57:10 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2018-02-26 16:57:10 +0200 |
commit | 3073f1aa6e8658825af739440f7288deeef9169d (patch) | |
tree | ced0db5a6f9b724af30ccf11b6c5ee23290509ba /spec/workers | |
parent | 4b998239a3fec56f93e24ca063d1196416aec938 (diff) | |
download | gitlab-ce-3073f1aa6e8658825af739440f7288deeef9169d.tar.gz |
Handle excpetion in PluginWorker
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'spec/workers')
-rw-r--r-- | spec/workers/plugin_worker_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/workers/plugin_worker_spec.rb b/spec/workers/plugin_worker_spec.rb new file mode 100644 index 00000000000..29c55482321 --- /dev/null +++ b/spec/workers/plugin_worker_spec.rb @@ -0,0 +1,27 @@ +require 'spec_helper' + +describe PluginWorker do + include RepoHelpers + + subject { described_class.new } + + let(:filename) { 'my_plugin.rb' } + + describe '#perform' do + it 'executes Gitlab::Plugin with expected values' do + data = { 'event_name' => 'project_create' } + + allow(Gitlab::Plugin).to receive(:execute).with(filename, data).and_return(true) + + expect(subject.perform(filename, data)).to be_truthy + end + + it 'handles exception well' do + data = { 'event_name' => 'project_create' } + + allow(Gitlab::Plugin).to receive(:execute).with(filename, data).and_raise('Permission denied') + + expect { subject.perform(filename, data) }.to_not raise_error + end + end +end |