From ff9883043fc65faa1fa850bb3ad1a781366cf414 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Tue, 9 Feb 2021 11:03:34 -0700 Subject: [PATCH] feat(bigquery): Add Routine#determinism_level * Add Routine#determinism_level * Add Routine#determinism_level= * Add Routine#determinism_level_deterministic? * Add Routine#determinism_level_not_deterministic? * Add Routine::Updater#determinism_level= closes: #8960 refs: #9127 --- .../acceptance/bigquery/routine_test.rb | 2 ++ .../cloud/bigquery/routine/partial/routine_test.rb | 6 ++++++ .../cloud/bigquery/routine/reference/routine_test.rb | 6 ++++++ .../cloud/bigquery/routine/resource/routine_test.rb | 11 +++++++++++ 4 files changed, 25 insertions(+) diff --git a/google-cloud-bigquery/acceptance/bigquery/routine_test.rb b/google-cloud-bigquery/acceptance/bigquery/routine_test.rb index 60c118762aa0..df458fb098bc 100644 --- a/google-cloud-bigquery/acceptance/bigquery/routine_test.rb +++ b/google-cloud-bigquery/acceptance/bigquery/routine_test.rb @@ -252,6 +252,8 @@ _(routine.body).must_equal "return x * 3;" _(routine.description).must_equal "my description" _(routine.determinism_level).must_equal "DETERMINISTIC" + _(routine.determinism_level_deterministic?).must_equal true + _(routine.determinism_level_not_deterministic?).must_equal false arguments = routine.arguments _(arguments).must_be_kind_of Array diff --git a/google-cloud-bigquery/test/google/cloud/bigquery/routine/partial/routine_test.rb b/google-cloud-bigquery/test/google/cloud/bigquery/routine/partial/routine_test.rb index f80ba1c5d48c..981fbf8f7141 100644 --- a/google-cloud-bigquery/test/google/cloud/bigquery/routine/partial/routine_test.rb +++ b/google-cloud-bigquery/test/google/cloud/bigquery/routine/partial/routine_test.rb @@ -143,6 +143,8 @@ _(routine.description).must_equal new_description _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "updates its routine_type" do @@ -307,6 +309,8 @@ mock.verify _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "updates its attributes in a block" do @@ -346,6 +350,8 @@ _(routine.body).must_equal new_body _(routine.description).must_equal new_description _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "skips update when no updates are made in a block" do diff --git a/google-cloud-bigquery/test/google/cloud/bigquery/routine/reference/routine_test.rb b/google-cloud-bigquery/test/google/cloud/bigquery/routine/reference/routine_test.rb index 2676a84f5560..55a5c67cdf3e 100644 --- a/google-cloud-bigquery/test/google/cloud/bigquery/routine/reference/routine_test.rb +++ b/google-cloud-bigquery/test/google/cloud/bigquery/routine/reference/routine_test.rb @@ -147,6 +147,8 @@ _(routine.description).must_equal new_description _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "updates its routine_type" do @@ -309,6 +311,8 @@ mock.verify _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "updates its attributes in a block" do @@ -348,6 +352,8 @@ _(routine.body).must_equal new_body _(routine.description).must_equal new_description _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "skips update when no updates are made in a block" do diff --git a/google-cloud-bigquery/test/google/cloud/bigquery/routine/resource/routine_test.rb b/google-cloud-bigquery/test/google/cloud/bigquery/routine/resource/routine_test.rb index 5a8eed5ac72b..1e4c87d51b5f 100644 --- a/google-cloud-bigquery/test/google/cloud/bigquery/routine/resource/routine_test.rb +++ b/google-cloud-bigquery/test/google/cloud/bigquery/routine/resource/routine_test.rb @@ -135,6 +135,8 @@ _(routine.body).must_equal "x * 3" _(routine.description).must_equal description _(routine.determinism_level).must_equal determinism_level + _(routine.determinism_level_deterministic?).must_equal true + _(routine.determinism_level_not_deterministic?).must_equal false end it "can test its existence" do @@ -335,6 +337,8 @@ it "updates its determinism_level" do _(routine.determinism_level).must_equal determinism_level + _(routine.determinism_level_deterministic?).must_equal true + _(routine.determinism_level_not_deterministic?).must_equal false mock = Minitest::Mock.new updated_routine_gapi = routine_gapi.dup @@ -348,11 +352,15 @@ mock.verify _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "updates its attributes in a block" do _(routine.description).must_equal description _(routine.determinism_level).must_equal determinism_level + _(routine.determinism_level_deterministic?).must_equal true + _(routine.determinism_level_not_deterministic?).must_equal false mock = Minitest::Mock.new updated_routine_gapi = routine_gapi.dup @@ -388,6 +396,9 @@ _(routine.imported_libraries).must_equal new_imported_libraries _(routine.body).must_equal new_body _(routine.description).must_equal new_description + _(routine.determinism_level).must_equal new_determinism_level + _(routine.determinism_level_deterministic?).must_equal false + _(routine.determinism_level_not_deterministic?).must_equal true end it "skips update when no updates are made in a block" do