Skip to content

Commit 0dc414d

Browse files
committed
Add E2E test case for OAuth2 login API
1 parent e8a0794 commit 0dc414d

14 files changed

+477
-17
lines changed

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
.terraform/**
22
terraform-provider-graphql
3-
e2e/test_basic/terraform.tfstate
4-
e2e/test_basic/terraform.tfstate.backup
5-
e2e/test_basic/terraform.d
6-
e2e/test_basic/.terraform
3+
e2e/test_*/terraform.tfstate
4+
e2e/test_*/terraform.tfstate.backup
5+
e2e/test_*/terraform.d
6+
e2e/test_*/.terraform
77
dist/
88
*.log
99
.secrets

e2e/basic_test.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ func TestBasicCreateUpdateMutations(t *testing.T) {
3333
Logger: logger.Discard,
3434
}
3535

36+
// Ensure workspace is clean
37+
assert.NoFileExists(t, "./gql-server/test.json")
38+
3639
terraform.InitAndApply(t, terraformOptionsCreate)
40+
3741
// Validate creation
3842
assert.FileExists(t, "./gql-server/test.json")
3943

@@ -73,7 +77,11 @@ func TestBasicForceReplace(t *testing.T) {
7377
Logger: logger.Discard,
7478
}
7579

80+
// Ensure workspace is clean
81+
assert.NoFileExists(t, "./gql-server/test.json")
82+
7683
terraform.InitAndApply(t, terraformOptionsCreate)
84+
7785
// Validate creation
7886
assert.FileExists(t, "./gql-server/test.json")
7987

@@ -106,8 +114,12 @@ func TestBasicValidateComputeMutationKeysFromCreate(t *testing.T) {
106114
Logger: logger.Discard,
107115
}
108116

109-
// Validate compute mutation keys from create
117+
// Ensure workspace is clean
118+
assert.NoFileExists(t, "./gql-server/test.json")
119+
110120
terraform.InitAndApply(t, terraformOptionsComputeFromCreate)
121+
122+
// Validate compute mutation keys from create
111123
assert.FileExists(t, "./gql-server/test.json")
112124

113125
// Validate data source output
@@ -123,4 +135,7 @@ func TestBasicValidateComputeMutationKeysFromCreate(t *testing.T) {
123135
deleteVariableOutput, _ := terraform.OutputJsonE(t, terraformOptionsComputeFromCreate, "computed_delete_variables")
124136
assert.Contains(t, deleteVariableOutput, idOutPut)
125137
assert.Contains(t, deleteVariableOutput, testVarComputed)
138+
139+
terraform.Destroy(t, terraformOptionsComputeFromCreate)
140+
assert.NoFileExists(t, "./gql-server/test.json")
126141
}

e2e/gql-server/graph/generated/generated.go

Lines changed: 165 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/gql-server/graph/model/models_gen.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/gql-server/graph/schema.graphqls

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
#
33
# https://gqlgen.com/getting-started/
44

5+
type LoginAPI {
6+
accessToken: String!
7+
}
8+
59
type Todo {
610
id: ID!
711
text: String!
@@ -25,6 +29,7 @@ input NewTodo {
2529
}
2630

2731
type Mutation {
32+
loginAPI(apiKey: String!): LoginAPI!
2833
createTodo(input: NewTodo!): Todo!
2934
updateTodo(id: ID!, input: NewTodo!): Todo!
3035
deleteTodo(input: String!): Todo!

e2e/gql-server/graph/schema.resolvers.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,37 @@ import (
1616
"github.com/sullivtr/terraform-provider-graphql/gql-server/graph/model"
1717
)
1818

19+
func (r *mutationResolver) LoginAPI(ctx context.Context, apiKey string) (*model.LoginAPI, error) {
20+
fmt.Println("Running LoginAPI query")
21+
22+
loginAPI := model.LoginAPI{
23+
AccessToken: apiKey, // Noop access key conversion into an access token
24+
}
25+
26+
content, _ := json.MarshalIndent(loginAPI, "", " ")
27+
err := ioutil.WriteFile("./loginAPI.json", content, 0755)
28+
29+
if err != nil {
30+
log.Fatalf("Error: %s", err)
31+
}
32+
33+
fmt.Println("Opening loginAPI.json")
34+
35+
jsonFile, err := os.Open("./loginAPI.json")
36+
if err != nil {
37+
fmt.Println(err)
38+
}
39+
defer jsonFile.Close()
40+
41+
byteValue, _ := ioutil.ReadAll(jsonFile)
42+
43+
fmt.Println(string(byteValue))
44+
45+
var loginAPIResult model.LoginAPI
46+
_ = json.Unmarshal([]byte(byteValue), &loginAPIResult)
47+
return &loginAPIResult, nil
48+
}
49+
1950
func (r *mutationResolver) CreateTodo(ctx context.Context, input model.NewTodo) (*model.Todo, error) {
2051
fmt.Println("Running create query")
2152

e2e/gql-server/test.json

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)