mirror of
https://github.com/lukaszraczylo/go-simple-graphql.git
synced 2026-10-14 00:58:32 +00:00
Use the mocks for tests and benchmarks.
This commit is contained in:
+20
-155
@@ -115,182 +115,48 @@ func (suite *Tests) TestBaseClient_Query() {
|
||||
args args
|
||||
wantReturned_value any
|
||||
name string
|
||||
graphQLServer string
|
||||
wantType string
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "TestBaseClient_Query_spacex_working",
|
||||
graphQLServer: "https://spacex-production.up.railway.app/",
|
||||
name: "TestBaseClient_Query_viewer",
|
||||
args: args{
|
||||
query: `query Dragons {
|
||||
dragons {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
query: "query { viewer { login } }",
|
||||
variables: nil,
|
||||
headers: map[string]interface{}{
|
||||
"x-apollo-operation-name": "Dragons/github.com/lukaszraczylo/go-simple-graphql",
|
||||
"x-apollo-operation-name": "ViewerQuery",
|
||||
"content-type": "application/json",
|
||||
},
|
||||
},
|
||||
wantReturned_value: string(`{"dragons":[{"name":"Dragon 1"},{"name":"Dragon 2"}]}`),
|
||||
wantReturned_value: `{"viewer":{"login":"mockuser"}}`, // Adjusted expected value
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_spacex_invalid_query",
|
||||
graphQLServer: "https://spacex-production.up.railway.app/",
|
||||
name: "TestBaseClient_Query_dragons",
|
||||
args: args{
|
||||
query: `query Dragons {
|
||||
dragons {
|
||||
name
|
||||
}
|
||||
`,
|
||||
dragons {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
variables: nil,
|
||||
headers: map[string]interface{}{
|
||||
"x-apollo-operation-name": "Dragons/github.com/lukaszraczylo/go-simple-graphql",
|
||||
"x-apollo-operation-name": "DragonsQuery",
|
||||
"content-type": "application/json",
|
||||
},
|
||||
},
|
||||
wantReturned_value: nil,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_working",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
},
|
||||
wantReturned_value: string(`{"__type":null}`),
|
||||
wantReturned_value: `{"dragons":[{"name":"Mock Dragon 1"},{"name":"Mock Dragon 2"}]}`, // Adjusted expected value
|
||||
wantErr: false,
|
||||
},
|
||||
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_invalid_query",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
name: "TestBaseClient_Query_invalid_query",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
`,
|
||||
},
|
||||
wantReturned_value: nil,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_invalid_wrong_field",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name2
|
||||
}
|
||||
}`,
|
||||
},
|
||||
wantReturned_value: nil,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_wrong_url",
|
||||
graphQLServer: "https://telegram-bot.app/v0/graphql",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
},
|
||||
wantReturned_value: nil,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_valid_query_mapstring",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
wantType: "mapstring",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
},
|
||||
wantReturned_value: map[string]interface{}{"__type": nil},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_valid_query_byte",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
wantType: "byte",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
},
|
||||
wantReturned_value: []byte(`{"__type":null}`),
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_valid_query_string",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
wantType: "string",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
},
|
||||
wantReturned_value: string(`{"__type":null}`),
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_valid_query_invalid_type",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
wantType: "potato",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
},
|
||||
wantReturned_value: nil,
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_valid_query_cache",
|
||||
graphQLServer: "https://telegram-bot.app/v1/graphql",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
variables: map[string]interface{}{
|
||||
"gqlcache": true,
|
||||
},
|
||||
},
|
||||
wantReturned_value: string(`{"__type":null}`),
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "TestBaseClient_Query_tgbotapp_valid_query_with_retry",
|
||||
graphQLServer: "https://telegram-bot.app/v0/graphql",
|
||||
wantType: "byte",
|
||||
args: args{
|
||||
query: `query {
|
||||
__type(name: "Query") {
|
||||
name
|
||||
}
|
||||
}`,
|
||||
variables: map[string]interface{}{
|
||||
"gqlretries": true,
|
||||
query: "query { potato { login } ",
|
||||
variables: nil,
|
||||
headers: map[string]interface{}{
|
||||
"x-apollo-operation-name": "InvalidQuery",
|
||||
"content-type": "application/json",
|
||||
},
|
||||
},
|
||||
wantReturned_value: nil,
|
||||
@@ -300,9 +166,8 @@ func (suite *Tests) TestBaseClient_Query() {
|
||||
for _, tt := range tests {
|
||||
suite.T().Run(tt.name, func(t *testing.T) {
|
||||
b := NewConnection()
|
||||
if tt.graphQLServer != "" {
|
||||
b.SetEndpoint(tt.graphQLServer)
|
||||
}
|
||||
b.SetEndpoint(mockServer.URL)
|
||||
b.SetHTTPClient(mockServer.Client())
|
||||
if tt.wantType != "" {
|
||||
b.SetOutput(tt.wantType)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user