@@ -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
7174end
7275
0 commit comments