Skip to content

Commit a06b18a

Browse files
authored
Merge pull request #90 from GoogleCloudPlatform/logging-quickstart-spec
Refactor Logging Quickstart spec and fix by adding order clause to entry fetch
2 parents 4881ae7 + 1e97352 commit a06b18a

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

logging/spec/quickstart_spec.rb

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,47 +26,50 @@ def wait_until times: 5, delay: 1, &condition
2626
raise "Condition not met. Waited #{times} times with #{delay} sec delay"
2727
end
2828

29-
before(:all) do
30-
@gcloud = Google::Cloud.new ENV["GOOGLE_CLOUD_PROJECT"]
31-
@logging = @gcloud.logging
32-
@entry = @logging.entry
29+
before do
30+
@gcloud = Google::Cloud.new ENV["GOOGLE_CLOUD_PROJECT"]
31+
@logging = @gcloud.logging
32+
@entry = @logging.entry
33+
@log_name = "quickstart_log_#{Time.now.to_i}"
3334

34-
time_now = Time.now.to_f.to_s.split('.').first
35-
@log_name = "sub-name-#{time_now}"
35+
@entry.log_name = @log_name
3636
end
3737

38-
after(:all) do
39-
if @logging.entries(filter: "logName:\"#{@log_name}\"").any?
38+
after do
39+
begin
4040
@logging.delete_log @log_name
41+
rescue Google::Cloud::NotFoundError
4142
end
4243
end
4344

44-
it "logs a new entry" do
45-
entry_filter = "logName:\"#{@log_name}\" textPayload:\"Hello, world!\""
45+
def test_log_entries
46+
@logging.entries filter: %{logName:"#{@log_name}"}, order: "timestamp desc"
47+
end
4648

49+
it "logs a new entry" do
4750
expect(Google::Cloud).to receive(:new).with("YOUR_PROJECT_ID").
4851
and_return(@gcloud)
4952
expect(@gcloud).to receive(:logging).and_return(@logging)
5053
expect(@logging).to receive(:entry).and_return(@entry)
51-
allow(@entry).to receive(:log_name).and_wrap_original do |entry|
52-
@log_name
53-
end
54-
expect(@logging.entries(filter: entry_filter)).to be_empty
54+
allow(@entry).to receive(:log_name=).with("my-log")
5555

56+
expect(test_log_entries).to be_empty
57+
5658
expect {
5759
load File.expand_path("../quickstart.rb", __dir__)
5860
}.to output(
5961
"Logged Hello, world!\n"
6062
).to_stdout
6163

62-
expect(@entry.log_name).to eq @log_name
63-
wait_until(delay: 5) do
64-
@logging.entries(filter: entry_filter).any?
65-
end
64+
entries = []
6665

67-
entries = @logging.entries filter: entry_filter
68-
expect(entries).to_not be_empty
69-
end
66+
wait_until { entries = test_log_entries; entries.any? }
7067

68+
expect(entries).not_to be_empty
69+
expect(entries.length).to eq 1
70+
71+
entry = entries.first
72+
expect(entry.payload).to eq "Hello, world!"
73+
end
7174
end
7275

0 commit comments

Comments
 (0)