Skip to content

Commit

Permalink
fixed tests (#6959)
Browse files Browse the repository at this point in the history
(cherry picked from commit 9cfe69c)
  • Loading branch information
JatinDev543 committed Nov 24, 2020
1 parent 430376f commit 29bd773
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 32 deletions.
8 changes: 7 additions & 1 deletion graphql/admin/admin.go
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,13 @@ func newAdminResolver(
ID: query.UidToHex(pk.Uid),
Schema: string(pl.Postings[0].Value),
}

server.mux.Lock()
if newSchema.Schema == server.schema.Schema {
glog.Infof("Skipping GraphQL schema update as the new schema is the same as the current schema.")
server.mux.Unlock()
return
}
server.mux.Unlock()
var gqlSchema schema.Schema
// on drop_all, we will receive an empty string as the schema update
if newSchema.Schema != "" {
Expand Down
53 changes: 22 additions & 31 deletions graphql/e2e/subscription/subscription_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,14 @@ const (
}
# Dgraph.Authorization {"VerificationKey":"secret","Header":"Authorization","Namespace":"https://dgraph.io","Algo":"HS256"}
`
subExp = 3 * time.Second
)

var subExp = 3 * time.Second

func TestSubscription(t *testing.T) {
dg, err := testutil.DgraphClient(groupOnegRPC)
require.NoError(t, err)
testutil.DropAll(t, dg)
var subscriptionResp common.GraphQLResponse

add := &common.GraphQLParams{
Query: `mutation updateGQLSchema($sch: String!) {
Expand Down Expand Up @@ -107,6 +107,7 @@ func TestSubscription(t *testing.T) {
addResult = add.ExecuteAsPost(t, graphQLEndpoint)
require.Nil(t, addResult.Errors)
time.Sleep(time.Second)

subscriptionClient, err := common.NewGraphQLSubscription(subscriptionEndpoint, &schema.Request{
Query: `subscription{
queryProduct{
Expand All @@ -119,7 +120,6 @@ func TestSubscription(t *testing.T) {
require.NoError(t, err)

touchedUidskey := "touched_uids"
var subscriptionResp common.GraphQLResponse
err = json.Unmarshal(res, &subscriptionResp)
require.NoError(t, err)
require.Nil(t, subscriptionResp.Errors)
Expand Down Expand Up @@ -167,7 +167,7 @@ func TestSubscription(t *testing.T) {
}
}
}`,
Variables: map[string]interface{}{"sch": sch},
Variables: map[string]interface{}{"sch": schAuth},
}
addResult = add.ExecuteAsPost(t, adminEndpoint)
require.Nil(t, addResult.Errors)
Expand Down Expand Up @@ -306,24 +306,8 @@ func TestSubscriptionAuth(t *testing.T) {
"text" : "Dgraph is awesome!!"
}]}`, string(resp.Data))

// Change schema to terminate subscription..
add = &common.GraphQLParams{
Query: `mutation updateGQLSchema($sch: String!) {
updateGQLSchema(input: { set: { schema: $sch }}) {
gqlSchema {
schema
}
}
}`,
Variables: map[string]interface{}{"sch": sch},
}
addResult = add.ExecuteAsPost(t, adminEndpoint)
require.Nil(t, addResult.Errors)
time.Sleep(time.Second)

res, err = subscriptionClient.RecvMsg()
require.NoError(t, err)
require.Nil(t, res)
// Terminate Subscription
subscriptionClient.Terminate()
}

func TestSubscriptionWithAuthShouldExpireWithJWT(t *testing.T) {
Expand Down Expand Up @@ -428,6 +412,8 @@ func TestSubscriptionWithAuthShouldExpireWithJWT(t *testing.T) {
res, err = subscriptionClient.RecvMsg()
require.NoError(t, err)
require.Nil(t, res)
// Terminate Subscription
subscriptionClient.Terminate()
}

func TestSubscriptionAuthWithoutExpiry(t *testing.T) {
Expand Down Expand Up @@ -626,7 +612,6 @@ func TestSubscriptionAuth_SameQueryAndClaimsButDifferentExpiry_ShouldExpireIndep
require.NoError(t, err)
require.Nil(t, res) // 1st subscription should get the empty response as subscription has expired.

time.Sleep(time.Second)
res, err = subscriptionClient1.RecvMsg()
require.NoError(t, err)
err = json.Unmarshal(res, &resp)
Expand Down Expand Up @@ -663,9 +648,11 @@ func TestSubscriptionAuth_SameQueryAndClaimsButDifferentExpiry_ShouldExpireIndep
addResult = add.ExecuteAsPost(t, graphQLEndpoint)
require.Nil(t, addResult.Errors)
time.Sleep(time.Second)

// 2nd subscription should get the empty response as subscription has expired.
res, err = subscriptionClient1.RecvMsg()
require.NoError(t, err)
require.Nil(t, res) // 2nd subscription should get the empty response as subscription has expired.
require.Nil(t, res)
}

func TestSubscriptionAuth_SameQueryDifferentClaimsAndExpiry_ShouldExpireIndependently(t *testing.T) {
Expand Down Expand Up @@ -832,6 +819,7 @@ func TestSubscriptionAuth_SameQueryDifferentClaimsAndExpiry_ShouldExpireIndepend
addResult = add.ExecuteAsPost(t, graphQLEndpoint)
require.Nil(t, addResult.Errors)
time.Sleep(time.Second)

res, err = subscriptionClient1.RecvMsg()
require.NoError(t, err)
err = json.Unmarshal(res, &resp)
Expand Down Expand Up @@ -925,7 +913,7 @@ func TestSubscriptionAuthHeaderCaseInsensitive(t *testing.T) {
addResult = add.ExecuteAsPost(t, graphQLEndpoint)
require.Nil(t, addResult.Errors)

jwtToken, err := metaInfo.GetSignedToken("secret", 10*time.Second)
jwtToken, err := metaInfo.GetSignedToken("secret", -1)
require.NoError(t, err)

payload := fmt.Sprintf(`{"Authorization": "%s"}`, jwtToken)
Expand All @@ -949,6 +937,9 @@ func TestSubscriptionAuthHeaderCaseInsensitive(t *testing.T) {
require.Nil(t, resp.Errors)
require.JSONEq(t, `{"queryTodo":[{"owner":"jatin","text":"GraphQL is exciting!!"}]}`,
string(resp.Data))

// Terminate Subscriptions
subscriptionClient.Terminate()
}

func TestSubscriptionAuth_MultiSubscriptionResponses(t *testing.T) {
Expand Down Expand Up @@ -982,11 +973,11 @@ func TestSubscriptionAuth_MultiSubscriptionResponses(t *testing.T) {
"ROLE": "USER",
}

jwtToken, err := metaInfo.GetSignedToken("secret", 5*time.Second)
jwtToken, err := metaInfo.GetSignedToken("secret", -1)
require.NoError(t, err)

// first subscription
payload := fmt.Sprintf(`{"Authorization": "%s"}`, jwtToken)
// first Subscription
subscriptionClient, err := common.NewGraphQLSubscription(subscriptionEndpoint, &schema.Request{
Query: `subscription{
queryTodo{
Expand All @@ -1011,11 +1002,11 @@ func TestSubscriptionAuth_MultiSubscriptionResponses(t *testing.T) {
subscriptionClient.Terminate()
time.Sleep(time.Second)

jwtToken1, err := metaInfo.GetSignedToken("secret", 5*time.Second)
jwtToken, err = metaInfo.GetSignedToken("secret", 3*time.Second)
require.NoError(t, err)

// Second subscription
payload = fmt.Sprintf(`{"Authorization": "%s"}`, jwtToken1)
payload = fmt.Sprintf(`{"Authorization": "%s"}`, jwtToken)
// Second Subscription
subscriptionClient1, err := common.NewGraphQLSubscription(subscriptionEndpoint, &schema.Request{
Query: `subscription{
queryTodo{
Expand All @@ -1036,7 +1027,6 @@ func TestSubscriptionAuth_MultiSubscriptionResponses(t *testing.T) {
require.JSONEq(t, `{"queryTodo":[]}`,
string(resp.Data))

// for user jatin
add = &common.GraphQLParams{
Query: `mutation{
addTodo(input: [
Expand Down Expand Up @@ -1070,5 +1060,6 @@ func TestSubscriptionAuth_MultiSubscriptionResponses(t *testing.T) {
res, err = subscriptionClient1.RecvMsg()
require.NoError(t, err)
require.Nil(t, res)
// Terminate Subscription
subscriptionClient1.Terminate()
}

0 comments on commit 29bd773

Please sign in to comment.