summaryrefslogtreecommitdiff
path: root/spec/requests/api
diff options
context:
space:
mode:
authorcharlieablett <cablett@gitlab.com>2019-05-02 19:09:10 +1200
committercharlieablett <cablett@gitlab.com>2019-05-30 18:27:28 +1200
commit2a1006416748950805294793f1bc8d6fa7435eea (patch)
treed54dfd57be5ddd7b9e5fc4e9d1fe271c88c41f3e /spec/requests/api
parent2c011cb5b452409db7fe1c810f1ad7440a6cedce (diff)
downloadgitlab-ce-2a1006416748950805294793f1bc8d6fa7435eea.tar.gz
Restructure complexity analyzer
Remove instance variables for class re-use, test individual methods, use `monotonic_time`
Diffstat (limited to 'spec/requests/api')
-rw-r--r--spec/requests/api/graphql/gitlab_schema_spec.rb2
-rw-r--r--spec/requests/api/graphql_spec.rb26
2 files changed, 23 insertions, 5 deletions
diff --git a/spec/requests/api/graphql/gitlab_schema_spec.rb b/spec/requests/api/graphql/gitlab_schema_spec.rb
index 0eb026f1ed9..dcce8c1dbad 100644
--- a/spec/requests/api/graphql/gitlab_schema_spec.rb
+++ b/spec/requests/api/graphql/gitlab_schema_spec.rb
@@ -85,7 +85,7 @@ describe 'GitlabSchema configurations' do
context 'logging' do
it 'writes to the GraphQL log' do
- expect(Gitlab::GraphqlLogger).to receive(:info).with(/Query Complexity/)
+ expect(Gitlab::GraphqlLogger).to receive(:info)
query = File.read(Rails.root.join('spec/fixtures/api/graphql/introspection.graphql'))
diff --git a/spec/requests/api/graphql_spec.rb b/spec/requests/api/graphql_spec.rb
index 103b02ba7a7..036dfa41952 100644
--- a/spec/requests/api/graphql_spec.rb
+++ b/spec/requests/api/graphql_spec.rb
@@ -17,14 +17,32 @@ describe 'GraphQL' do
end
context 'logging' do
- it 'logs the query' do
- expected = { query_string: query, variables: {}, duration: anything }
-
+ before do
expect(Gitlab::GraphqlLogger).to receive(:info).with(expected)
+ end
- post_graphql(query)
+ context 'with no variables' do
+ let(:expected) do
+ { query_string: query, variables: {}, duration: anything, depth: 0, complexity: 0 }
+ end
+
+ it 'logs the query' do
+ post_graphql(query)
+ end
end
+ context 'with variables' do
+ let!(:variables) do
+ { foo: "bar" }
+ end
+ let(:expected) do
+ { query_string: query, variables: variables, duration: anything, depth: 0, complexity: 0 }
+ end
+
+ it 'logs the query' do
+ post_graphql(query, variables: variables)
+ end
+ end
end
context 'invalid variables' do