diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/gitlab_keys_spec.rb | 4 | ||||
-rw-r--r-- | spec/gitlab_metrics_spec.rb | 30 |
2 files changed, 32 insertions, 2 deletions
diff --git a/spec/gitlab_keys_spec.rb b/spec/gitlab_keys_spec.rb index 67f9f40..c1c3854 100644 --- a/spec/gitlab_keys_spec.rb +++ b/spec/gitlab_keys_spec.rb @@ -53,7 +53,7 @@ describe GitlabKeys do end context "without file writing" do - before { gitlab_keys.stub(:open) } + before { allow(gitlab_keys).to receive(:open) } before { create_authorized_keys_fixture } it "should log an add-key event" do @@ -106,7 +106,7 @@ describe GitlabKeys do context "without file writing" do before do - gitlab_keys.should_receive(:open).and_yield(mock(:file, puts: nil, chmod: nil)) + gitlab_keys.should_receive(:open).and_yield(double(:file, puts: nil, chmod: nil)) end it "should log an add-key event" do diff --git a/spec/gitlab_metrics_spec.rb b/spec/gitlab_metrics_spec.rb new file mode 100644 index 0000000..885fa3b --- /dev/null +++ b/spec/gitlab_metrics_spec.rb @@ -0,0 +1,30 @@ +require_relative 'spec_helper' +require_relative '../lib/gitlab_metrics' + +describe GitlabMetrics do + describe '::measure' do + it 'returns the return value of the block' do + val = described_class.measure('foo') { 10 } + + expect(val).to eq(10) + end + + it 'write in a file metrics data' do + result = nil + expect(described_class.logger).to receive(:debug) do |&b| + result = b.call + end + + described_class.measure('foo') { 10 } + + expect(result).to match(/name=\"foo\" wall_time=\d+ cpu_time=\d+/) + end + + it 'calls proper measure methods' do + expect(described_class::System).to receive(:monotonic_time).twice.and_call_original + expect(described_class::System).to receive(:cpu_time).twice.and_call_original + + described_class.measure('foo') { 10 } + end + end +end |