From 5a4e3ba5678fd395e41179b83450772a398769a3 Mon Sep 17 00:00:00 2001 From: Enrique Guillen Date: Sat, 13 Oct 2018 21:13:49 -0700 Subject: [PATCH] adds tag specs for swagger response validation --- spec/dummy/app/controllers/twitter_example_controller.rb | 5 +++++ spec/lib/swagger/rake_swagger_spec.rb | 8 ++++++++ spec/lib/swagger/response_validation_spec.rb | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/spec/dummy/app/controllers/twitter_example_controller.rb b/spec/dummy/app/controllers/twitter_example_controller.rb index eaaeda41..99db6606 100644 --- a/spec/dummy/app/controllers/twitter_example_controller.rb +++ b/spec/dummy/app/controllers/twitter_example_controller.rb @@ -299,4 +299,9 @@ def index render :text => 'twitter example' end + api :GET, '/twitter_example/{id}/followers', 'Find the followers for the given screen name' + tags %w[following index search] + def followers + render :text => 'followers' + end end diff --git a/spec/lib/swagger/rake_swagger_spec.rb b/spec/lib/swagger/rake_swagger_spec.rb index 9232b81a..4fb50233 100644 --- a/spec/lib/swagger/rake_swagger_spec.rb +++ b/spec/lib/swagger/rake_swagger_spec.rb @@ -51,6 +51,10 @@ def expect_param_def(http_method, path, param_name, field, value) expect(param[field]).to eq(value) end + def expect_tags_def(http_method, path, value) + params = apidoc_swagger["paths"][path][http_method]["tags"] + expect(params).to eq(value) + end def body_param_def(http_method, path, param_name) params = apidoc_swagger["paths"][path][http_method]["parameters"] @@ -88,6 +92,8 @@ def expect_body_param_def(http_method, path, param_name, field, value) expect_param_def("get", "/users/by_department", "department", "in", "query") expect_param_def("get", "/users/by_department", "department", "enum", ["finance", "operations", "sales", "marketing", "HR"]) + + expect_tags_def("get", "/twitter_example/{id}/followers", %w[twitter_example following index search]) end it "generates a valid swagger file" do @@ -113,6 +119,8 @@ def expect_body_param_def(http_method, path, param_name, field, value) expect_param_def("get", "/users/by_department", "department", "enum", ["finance", "operations", "sales", "marketing", "HR"]) + expect_tags_def("get", "/twitter_example/{id}/followers", %w[twitter_example following index search]) + end it "generates a valid swagger file" do diff --git a/spec/lib/swagger/response_validation_spec.rb b/spec/lib/swagger/response_validation_spec.rb index 5b5fd7f5..8e70554b 100644 --- a/spec/lib/swagger/response_validation_spec.rb +++ b/spec/lib/swagger/response_validation_spec.rb @@ -101,4 +101,4 @@ -end \ No newline at end of file +end