From 806d822098b59d44e89af7cb9b10fadbda7eae78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Saray=20Cabrera=20Padr=C3=B3n?= Date: Fri, 15 Jul 2022 13:40:48 +0200 Subject: [PATCH] Adapt the specs related to the reporters Co-authored-by: Rubhan Azeem --- src/api/spec/models/token/workflow_spec.rb | 6 +++--- .../spec/services/github_status_reporter_spec.rb | 14 +++++++++++--- .../spec/services/gitlab_status_reporter_spec.rb | 10 +++++++++- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/api/spec/models/token/workflow_spec.rb b/src/api/spec/models/token/workflow_spec.rb index 01ecd866565..bd8c84c1777 100644 --- a/src/api/spec/models/token/workflow_spec.rb +++ b/src/api/spec/models/token/workflow_spec.rb @@ -89,7 +89,7 @@ allow(Workflows::YAMLToWorkflowsService).to receive(:new).with(yaml_file: yaml_file, scm_webhook: scm_webhook, token: workflow_token, workflow_run: workflow_run).and_return(yaml_to_workflows_service) allow(yaml_to_workflows_service).to receive(:call).and_return(workflows) - allow(ScmInitialStatusReporter).to receive(:new).and_return(proc { true }) + allow(SCMStatusReporter).to receive(:new).and_return(proc { true }) end subject { workflow_token.call(workflow_run: workflow_run, scm_webhook: scm_extractor.call) } @@ -100,9 +100,9 @@ it { expect { subject }.to change(workflow_token, :triggered_at) & change(workflow_run, :response_url).to('https://api.github.com') } - it do + it 'sends the initial report twice' do subject - expect(ScmInitialStatusReporter).to have_received(:new).twice + expect(SCMStatusReporter).to have_received(:new).twice end end diff --git a/src/api/spec/services/github_status_reporter_spec.rb b/src/api/spec/services/github_status_reporter_spec.rb index 92a1bb94451..c01343eb244 100644 --- a/src/api/spec/services/github_status_reporter_spec.rb +++ b/src/api/spec/services/github_status_reporter_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' RSpec.describe GithubStatusReporter, type: :service do - let(:scm_status_reporter) { GithubStatusReporter.new(event_payload, event_subscription_payload, token, event_type) } + let(:scm_status_reporter) { GithubStatusReporter.new(event_payload, event_subscription_payload, token, state, workflow_run, initial_report: initial_report) } describe '.new' do context 'status pending when event_type is missing' do @@ -9,6 +9,9 @@ let(:event_subscription_payload) { {} } let(:token) { 'XYCABC' } let(:event_type) { nil } + let(:state) { 'pending' } + let(:workflow_run) { nil } + let(:initial_report) { false } subject { scm_status_reporter } @@ -20,6 +23,9 @@ let(:event_subscription_payload) { { scm: 'github' } } let(:token) { 'XYCABC' } let(:event_type) { 'Event::BuildFail' } + let(:state) { 'failure' } + let(:workflow_run) { nil } + let(:initial_report) { false } subject { scm_status_reporter } @@ -29,7 +35,7 @@ describe '#call' do context 'when sending a report back to SCM fails' do - let(:scm_status_reporter) { GithubStatusReporter.new(event_payload, event_subscription_payload, token, event_type, workflow_run) } + let(:scm_status_reporter) { GithubStatusReporter.new(event_payload, event_subscription_payload, token, state, workflow_run, initial_report: false) } let!(:user) { create(:confirmed_user, :with_home, login: 'jane_doe') } let!(:package) { create(:package, name: 'bye', project: user.home_project) } @@ -43,8 +49,8 @@ end let(:event_subscription_payload) { { scm: 'github' } } - let(:event_type) { 'Event::BuildSuccess' } + let(:state) { 'success' } let!(:event_subscription) do EventSubscription.create(channel: 'scm', package: package, eventtype: event_type, receiver_role: 'reader', token: workflow_token, workflow_run: workflow_run) @@ -112,6 +118,8 @@ let(:token) { 'XYCABC' } let(:event_type) { nil } let(:state) { 'pending' } + let(:workflow_run) { nil } + let(:initial_report) { false } let(:status_options) do { context: 'OBS: hello_world - openSUSE_Tumbleweed/x86_64', diff --git a/src/api/spec/services/gitlab_status_reporter_spec.rb b/src/api/spec/services/gitlab_status_reporter_spec.rb index 55ea6fe0101..4d6e928b492 100644 --- a/src/api/spec/services/gitlab_status_reporter_spec.rb +++ b/src/api/spec/services/gitlab_status_reporter_spec.rb @@ -1,7 +1,7 @@ require 'rails_helper' RSpec.describe GitlabStatusReporter, type: :service do - let(:scm_status_reporter) { GitlabStatusReporter.new(event_payload, event_subscription_payload, token, event_type) } + let(:scm_status_reporter) { GitlabStatusReporter.new(event_payload, event_subscription_payload, token, state, workflow_run, initial_report: initial_report) } describe '.new' do context 'status pending when event_type is missing' do @@ -9,6 +9,9 @@ let(:event_subscription_payload) { {} } let(:token) { 'XYCABC' } let(:event_type) { nil } + let(:workflow_run) { nil } + let(:state) { 'pending' } + let(:initial_report) { false } subject { scm_status_reporter } @@ -20,6 +23,9 @@ let(:event_subscription_payload) { { scm: 'gitlab' } } let(:token) { 'XYCABC' } let(:event_type) { 'Event::BuildFail' } + let(:workflow_run) { nil } + let(:state) { 'failed' } + let(:initial_report) { false } subject { scm_status_reporter } @@ -39,6 +45,8 @@ let(:token) { 'XYCABC' } let(:event_type) { nil } let(:state) { 'pending' } + let(:workflow_run) { nil } + let(:initial_report) { false } let(:status_options) do { context: 'OBS: hello_world - openSUSE_Tumbleweed/x86_64',