Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Passed
Pull Request — master (#925)
by Ruud
02:34
created
tests/Functional/Security/QueryMaxDepthTest.php 5 patches
Indentation   -77 removed lines patch added patch discarded remove patch
@@ -9,80 +9,3 @@
 block discarded – undo
9 9
 class QueryMaxDepthTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutViolationQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends(first:1) {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithViolationQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                  friends {
33
-                    edges {
34
-                      node {
35
-                        name
36
-                      }
37
-                    }
38
-                  }
39
-                }
40
-              }
41
-            }
42
-          }
43
-        }
44
-        EOF;
45
-
46
-    public function testMaxDepthReachLimitation(): void
47
-    {
48
-        $expected = [
49
-            'errors' => [
50
-                [
51
-                    'message' => 'Max query depth should be 3 but got 6.',
52
-                ],
53
-            ],
54
-        ];
55
-
56
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
57
-    }
58
-
59
-    public function testMaxDepthReachLimitationEnv(): void
60
-    {
61
-        $expected = [
62
-            'errors' => [
63
-                [
64
-                    'message' => 'Max query depth should be 3 but got 6.',
65
-                ],
66
-            ],
67
-        ];
68
-
69
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepthEnv');
70
-    }
71
-
72
-    public function testComplexityUnderLimitation(): void
73
-    {
74
-        $expected = [
75
-            'data' => [
76
-                'user' => [
77
-                    'friends' => [
78
-                        'edges' => [
79
-                            ['node' => ['name' => 'Nick']],
80
-                        ],
81
-                    ],
82
-                ],
83
-            ],
84
-        ];
85
-
86
-        $this->assertResponse($this->userFriendsWithoutViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
87
-    }
88
-}
Please login to merge, or discard this patch.
Switch Indentation   -77 removed lines patch added patch discarded remove patch
@@ -9,80 +9,3 @@
 block discarded – undo
9 9
 class QueryMaxDepthTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutViolationQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends(first:1) {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithViolationQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                  friends {
33
-                    edges {
34
-                      node {
35
-                        name
36
-                      }
37
-                    }
38
-                  }
39
-                }
40
-              }
41
-            }
42
-          }
43
-        }
44
-        EOF;
45
-
46
-    public function testMaxDepthReachLimitation(): void
47
-    {
48
-        $expected = [
49
-            'errors' => [
50
-                [
51
-                    'message' => 'Max query depth should be 3 but got 6.',
52
-                ],
53
-            ],
54
-        ];
55
-
56
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
57
-    }
58
-
59
-    public function testMaxDepthReachLimitationEnv(): void
60
-    {
61
-        $expected = [
62
-            'errors' => [
63
-                [
64
-                    'message' => 'Max query depth should be 3 but got 6.',
65
-                ],
66
-            ],
67
-        ];
68
-
69
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepthEnv');
70
-    }
71
-
72
-    public function testComplexityUnderLimitation(): void
73
-    {
74
-        $expected = [
75
-            'data' => [
76
-                'user' => [
77
-                    'friends' => [
78
-                        'edges' => [
79
-                            ['node' => ['name' => 'Nick']],
80
-                        ],
81
-                    ],
82
-                ],
83
-            ],
84
-        ];
85
-
86
-        $this->assertResponse($this->userFriendsWithoutViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
87
-    }
88
-}
Please login to merge, or discard this patch.
Spacing   -77 removed lines patch added patch discarded remove patch
@@ -9,80 +9,3 @@
 block discarded – undo
9 9
 class QueryMaxDepthTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutViolationQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends(first:1) {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithViolationQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                  friends {
33
-                    edges {
34
-                      node {
35
-                        name
36
-                      }
37
-                    }
38
-                  }
39
-                }
40
-              }
41
-            }
42
-          }
43
-        }
44
-        EOF;
45
-
46
-    public function testMaxDepthReachLimitation(): void
47
-    {
48
-        $expected = [
49
-            'errors' => [
50
-                [
51
-                    'message' => 'Max query depth should be 3 but got 6.',
52
-                ],
53
-            ],
54
-        ];
55
-
56
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
57
-    }
58
-
59
-    public function testMaxDepthReachLimitationEnv(): void
60
-    {
61
-        $expected = [
62
-            'errors' => [
63
-                [
64
-                    'message' => 'Max query depth should be 3 but got 6.',
65
-                ],
66
-            ],
67
-        ];
68
-
69
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepthEnv');
70
-    }
71
-
72
-    public function testComplexityUnderLimitation(): void
73
-    {
74
-        $expected = [
75
-            'data' => [
76
-                'user' => [
77
-                    'friends' => [
78
-                        'edges' => [
79
-                            ['node' => ['name' => 'Nick']],
80
-                        ],
81
-                    ],
82
-                ],
83
-            ],
84
-        ];
85
-
86
-        $this->assertResponse($this->userFriendsWithoutViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
87
-    }
88
-}
Please login to merge, or discard this patch.
Braces   -77 removed lines patch added patch discarded remove patch
@@ -9,80 +9,3 @@
 block discarded – undo
9 9
 class QueryMaxDepthTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutViolationQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends(first:1) {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithViolationQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                  friends {
33
-                    edges {
34
-                      node {
35
-                        name
36
-                      }
37
-                    }
38
-                  }
39
-                }
40
-              }
41
-            }
42
-          }
43
-        }
44
-        EOF;
45
-
46
-    public function testMaxDepthReachLimitation(): void
47
-    {
48
-        $expected = [
49
-            'errors' => [
50
-                [
51
-                    'message' => 'Max query depth should be 3 but got 6.',
52
-                ],
53
-            ],
54
-        ];
55
-
56
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
57
-    }
58
-
59
-    public function testMaxDepthReachLimitationEnv(): void
60
-    {
61
-        $expected = [
62
-            'errors' => [
63
-                [
64
-                    'message' => 'Max query depth should be 3 but got 6.',
65
-                ],
66
-            ],
67
-        ];
68
-
69
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepthEnv');
70
-    }
71
-
72
-    public function testComplexityUnderLimitation(): void
73
-    {
74
-        $expected = [
75
-            'data' => [
76
-                'user' => [
77
-                    'friends' => [
78
-                        'edges' => [
79
-                            ['node' => ['name' => 'Nick']],
80
-                        ],
81
-                    ],
82
-                ],
83
-            ],
84
-        ];
85
-
86
-        $this->assertResponse($this->userFriendsWithoutViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
87
-    }
88
-}
Please login to merge, or discard this patch.
Upper-Lower-Casing   -77 removed lines patch added patch discarded remove patch
@@ -9,80 +9,3 @@
 block discarded – undo
9 9
 class QueryMaxDepthTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutViolationQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends(first:1) {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithViolationQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                  friends {
33
-                    edges {
34
-                      node {
35
-                        name
36
-                      }
37
-                    }
38
-                  }
39
-                }
40
-              }
41
-            }
42
-          }
43
-        }
44
-        EOF;
45
-
46
-    public function testMaxDepthReachLimitation(): void
47
-    {
48
-        $expected = [
49
-            'errors' => [
50
-                [
51
-                    'message' => 'Max query depth should be 3 but got 6.',
52
-                ],
53
-            ],
54
-        ];
55
-
56
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
57
-    }
58
-
59
-    public function testMaxDepthReachLimitationEnv(): void
60
-    {
61
-        $expected = [
62
-            'errors' => [
63
-                [
64
-                    'message' => 'Max query depth should be 3 but got 6.',
65
-                ],
66
-            ],
67
-        ];
68
-
69
-        $this->assertResponse($this->userFriendsWithViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepthEnv');
70
-    }
71
-
72
-    public function testComplexityUnderLimitation(): void
73
-    {
74
-        $expected = [
75
-            'data' => [
76
-                'user' => [
77
-                    'friends' => [
78
-                        'edges' => [
79
-                            ['node' => ['name' => 'Nick']],
80
-                        ],
81
-                    ],
82
-                ],
83
-            ],
84
-        ];
85
-
86
-        $this->assertResponse($this->userFriendsWithoutViolationQuery, $expected, self::ANONYMOUS_USER, 'queryMaxDepth');
87
-    }
88
-}
Please login to merge, or discard this patch.
tests/Functional/Security/DisableIntrospectionTest.php 5 patches
Indentation   -29 removed lines patch added patch discarded remove patch
@@ -9,32 +9,3 @@
 block discarded – undo
9 9
 class DisableIntrospectionTest extends TestCase
10 10
 {
11 11
     private string $introspectionQuery = <<<'EOF'
12
-        query {
13
-          __schema {
14
-            types {
15
-              name
16
-              description
17
-            }
18
-          }
19
-        }
20
-        EOF;
21
-
22
-    public function testIntrospectionDisabled(): void
23
-    {
24
-        $expected = [
25
-            'errors' => [
26
-                [
27
-                    'message' => 'GraphQL introspection is not allowed, but the query contained __schema or __type',
28
-                    'locations' => [
29
-                        [
30
-                            'line' => 2,
31
-                            'column' => 3,
32
-                        ],
33
-                    ],
34
-                ],
35
-            ],
36
-        ];
37
-
38
-        $this->assertResponse($this->introspectionQuery, $expected, self::ANONYMOUS_USER, 'disableIntrospection');
39
-    }
40
-}
Please login to merge, or discard this patch.
Switch Indentation   -29 removed lines patch added patch discarded remove patch
@@ -9,32 +9,3 @@
 block discarded – undo
9 9
 class DisableIntrospectionTest extends TestCase
10 10
 {
11 11
     private string $introspectionQuery = <<<'EOF'
12
-        query {
13
-          __schema {
14
-            types {
15
-              name
16
-              description
17
-            }
18
-          }
19
-        }
20
-        EOF;
21
-
22
-    public function testIntrospectionDisabled(): void
23
-    {
24
-        $expected = [
25
-            'errors' => [
26
-                [
27
-                    'message' => 'GraphQL introspection is not allowed, but the query contained __schema or __type',
28
-                    'locations' => [
29
-                        [
30
-                            'line' => 2,
31
-                            'column' => 3,
32
-                        ],
33
-                    ],
34
-                ],
35
-            ],
36
-        ];
37
-
38
-        $this->assertResponse($this->introspectionQuery, $expected, self::ANONYMOUS_USER, 'disableIntrospection');
39
-    }
40
-}
Please login to merge, or discard this patch.
Spacing   -29 removed lines patch added patch discarded remove patch
@@ -9,32 +9,3 @@
 block discarded – undo
9 9
 class DisableIntrospectionTest extends TestCase
10 10
 {
11 11
     private string $introspectionQuery = <<<'EOF'
12
-        query {
13
-          __schema {
14
-            types {
15
-              name
16
-              description
17
-            }
18
-          }
19
-        }
20
-        EOF;
21
-
22
-    public function testIntrospectionDisabled(): void
23
-    {
24
-        $expected = [
25
-            'errors' => [
26
-                [
27
-                    'message' => 'GraphQL introspection is not allowed, but the query contained __schema or __type',
28
-                    'locations' => [
29
-                        [
30
-                            'line' => 2,
31
-                            'column' => 3,
32
-                        ],
33
-                    ],
34
-                ],
35
-            ],
36
-        ];
37
-
38
-        $this->assertResponse($this->introspectionQuery, $expected, self::ANONYMOUS_USER, 'disableIntrospection');
39
-    }
40
-}
Please login to merge, or discard this patch.
Braces   -29 removed lines patch added patch discarded remove patch
@@ -9,32 +9,3 @@
 block discarded – undo
9 9
 class DisableIntrospectionTest extends TestCase
10 10
 {
11 11
     private string $introspectionQuery = <<<'EOF'
12
-        query {
13
-          __schema {
14
-            types {
15
-              name
16
-              description
17
-            }
18
-          }
19
-        }
20
-        EOF;
21
-
22
-    public function testIntrospectionDisabled(): void
23
-    {
24
-        $expected = [
25
-            'errors' => [
26
-                [
27
-                    'message' => 'GraphQL introspection is not allowed, but the query contained __schema or __type',
28
-                    'locations' => [
29
-                        [
30
-                            'line' => 2,
31
-                            'column' => 3,
32
-                        ],
33
-                    ],
34
-                ],
35
-            ],
36
-        ];
37
-
38
-        $this->assertResponse($this->introspectionQuery, $expected, self::ANONYMOUS_USER, 'disableIntrospection');
39
-    }
40
-}
Please login to merge, or discard this patch.
Upper-Lower-Casing   -29 removed lines patch added patch discarded remove patch
@@ -9,32 +9,3 @@
 block discarded – undo
9 9
 class DisableIntrospectionTest extends TestCase
10 10
 {
11 11
     private string $introspectionQuery = <<<'EOF'
12
-        query {
13
-          __schema {
14
-            types {
15
-              name
16
-              description
17
-            }
18
-          }
19
-        }
20
-        EOF;
21
-
22
-    public function testIntrospectionDisabled(): void
23
-    {
24
-        $expected = [
25
-            'errors' => [
26
-                [
27
-                    'message' => 'GraphQL introspection is not allowed, but the query contained __schema or __type',
28
-                    'locations' => [
29
-                        [
30
-                            'line' => 2,
31
-                            'column' => 3,
32
-                        ],
33
-                    ],
34
-                ],
35
-            ],
36
-        ];
37
-
38
-        $this->assertResponse($this->introspectionQuery, $expected, self::ANONYMOUS_USER, 'disableIntrospection');
39
-    }
40
-}
Please login to merge, or discard this patch.
tests/Functional/Security/QueryComplexityTest.php 5 patches
Indentation   -70 removed lines patch added patch discarded remove patch
@@ -9,73 +9,3 @@
 block discarded – undo
9 9
 class QueryComplexityTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutLimitQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithLimitQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                }
33
-              }
34
-            }
35
-          }
36
-        }
37
-        EOF;
38
-
39
-    public function testComplexityReachLimitation(): void
40
-    {
41
-        $expected = [
42
-            'errors' => [
43
-                [
44
-                    'message' => 'Max query complexity should be 10 but got 54.',
45
-                ],
46
-            ],
47
-        ];
48
-
49
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
50
-    }
51
-
52
-    public function testComplexityReachLimitationEnv(): void
53
-    {
54
-        $expected = [
55
-            'errors' => [
56
-                [
57
-                    'message' => 'Max query complexity should be 10 but got 54.',
58
-                ],
59
-            ],
60
-        ];
61
-
62
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexityEnv');
63
-    }
64
-
65
-    public function testComplexityUnderLimitation(): void
66
-    {
67
-        $expected = [
68
-            'data' => [
69
-                'user' => [
70
-                    'friends' => [
71
-                        'edges' => [
72
-                            ['node' => ['name' => 'Nick']],
73
-                        ],
74
-                    ],
75
-                ],
76
-            ],
77
-        ];
78
-
79
-        $this->assertResponse($this->userFriendsWithLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
80
-    }
81
-}
Please login to merge, or discard this patch.
Switch Indentation   -70 removed lines patch added patch discarded remove patch
@@ -9,73 +9,3 @@
 block discarded – undo
9 9
 class QueryComplexityTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutLimitQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithLimitQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                }
33
-              }
34
-            }
35
-          }
36
-        }
37
-        EOF;
38
-
39
-    public function testComplexityReachLimitation(): void
40
-    {
41
-        $expected = [
42
-            'errors' => [
43
-                [
44
-                    'message' => 'Max query complexity should be 10 but got 54.',
45
-                ],
46
-            ],
47
-        ];
48
-
49
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
50
-    }
51
-
52
-    public function testComplexityReachLimitationEnv(): void
53
-    {
54
-        $expected = [
55
-            'errors' => [
56
-                [
57
-                    'message' => 'Max query complexity should be 10 but got 54.',
58
-                ],
59
-            ],
60
-        ];
61
-
62
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexityEnv');
63
-    }
64
-
65
-    public function testComplexityUnderLimitation(): void
66
-    {
67
-        $expected = [
68
-            'data' => [
69
-                'user' => [
70
-                    'friends' => [
71
-                        'edges' => [
72
-                            ['node' => ['name' => 'Nick']],
73
-                        ],
74
-                    ],
75
-                ],
76
-            ],
77
-        ];
78
-
79
-        $this->assertResponse($this->userFriendsWithLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
80
-    }
81
-}
Please login to merge, or discard this patch.
Spacing   -70 removed lines patch added patch discarded remove patch
@@ -9,73 +9,3 @@
 block discarded – undo
9 9
 class QueryComplexityTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutLimitQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithLimitQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                }
33
-              }
34
-            }
35
-          }
36
-        }
37
-        EOF;
38
-
39
-    public function testComplexityReachLimitation(): void
40
-    {
41
-        $expected = [
42
-            'errors' => [
43
-                [
44
-                    'message' => 'Max query complexity should be 10 but got 54.',
45
-                ],
46
-            ],
47
-        ];
48
-
49
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
50
-    }
51
-
52
-    public function testComplexityReachLimitationEnv(): void
53
-    {
54
-        $expected = [
55
-            'errors' => [
56
-                [
57
-                    'message' => 'Max query complexity should be 10 but got 54.',
58
-                ],
59
-            ],
60
-        ];
61
-
62
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexityEnv');
63
-    }
64
-
65
-    public function testComplexityUnderLimitation(): void
66
-    {
67
-        $expected = [
68
-            'data' => [
69
-                'user' => [
70
-                    'friends' => [
71
-                        'edges' => [
72
-                            ['node' => ['name' => 'Nick']],
73
-                        ],
74
-                    ],
75
-                ],
76
-            ],
77
-        ];
78
-
79
-        $this->assertResponse($this->userFriendsWithLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
80
-    }
81
-}
Please login to merge, or discard this patch.
Braces   -70 removed lines patch added patch discarded remove patch
@@ -9,73 +9,3 @@
 block discarded – undo
9 9
 class QueryComplexityTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutLimitQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithLimitQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                }
33
-              }
34
-            }
35
-          }
36
-        }
37
-        EOF;
38
-
39
-    public function testComplexityReachLimitation(): void
40
-    {
41
-        $expected = [
42
-            'errors' => [
43
-                [
44
-                    'message' => 'Max query complexity should be 10 but got 54.',
45
-                ],
46
-            ],
47
-        ];
48
-
49
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
50
-    }
51
-
52
-    public function testComplexityReachLimitationEnv(): void
53
-    {
54
-        $expected = [
55
-            'errors' => [
56
-                [
57
-                    'message' => 'Max query complexity should be 10 but got 54.',
58
-                ],
59
-            ],
60
-        ];
61
-
62
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexityEnv');
63
-    }
64
-
65
-    public function testComplexityUnderLimitation(): void
66
-    {
67
-        $expected = [
68
-            'data' => [
69
-                'user' => [
70
-                    'friends' => [
71
-                        'edges' => [
72
-                            ['node' => ['name' => 'Nick']],
73
-                        ],
74
-                    ],
75
-                ],
76
-            ],
77
-        ];
78
-
79
-        $this->assertResponse($this->userFriendsWithLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
80
-    }
81
-}
Please login to merge, or discard this patch.
Upper-Lower-Casing   -70 removed lines patch added patch discarded remove patch
@@ -9,73 +9,3 @@
 block discarded – undo
9 9
 class QueryComplexityTest extends TestCase
10 10
 {
11 11
     private string $userFriendsWithoutLimitQuery = <<<'EOF'
12
-        query {
13
-          user {
14
-            friends {
15
-              edges {
16
-                node {
17
-                  name
18
-                }
19
-              }
20
-            }
21
-          }
22
-        }
23
-        EOF;
24
-
25
-    private string $userFriendsWithLimitQuery = <<<'EOF'
26
-        query {
27
-          user {
28
-            friends(first: 1) {
29
-              edges {
30
-                node {
31
-                  name
32
-                }
33
-              }
34
-            }
35
-          }
36
-        }
37
-        EOF;
38
-
39
-    public function testComplexityReachLimitation(): void
40
-    {
41
-        $expected = [
42
-            'errors' => [
43
-                [
44
-                    'message' => 'Max query complexity should be 10 but got 54.',
45
-                ],
46
-            ],
47
-        ];
48
-
49
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
50
-    }
51
-
52
-    public function testComplexityReachLimitationEnv(): void
53
-    {
54
-        $expected = [
55
-            'errors' => [
56
-                [
57
-                    'message' => 'Max query complexity should be 10 but got 54.',
58
-                ],
59
-            ],
60
-        ];
61
-
62
-        $this->assertResponse($this->userFriendsWithoutLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexityEnv');
63
-    }
64
-
65
-    public function testComplexityUnderLimitation(): void
66
-    {
67
-        $expected = [
68
-            'data' => [
69
-                'user' => [
70
-                    'friends' => [
71
-                        'edges' => [
72
-                            ['node' => ['name' => 'Nick']],
73
-                        ],
74
-                    ],
75
-                ],
76
-            ],
77
-        ];
78
-
79
-        $this->assertResponse($this->userFriendsWithLimitQuery, $expected, self::ANONYMOUS_USER, 'queryComplexity');
80
-    }
81
-}
Please login to merge, or discard this patch.
tests/Functional/Security/AccessTest.php 5 patches
Indentation   -340 removed lines patch added patch discarded remove patch
@@ -26,343 +26,3 @@
 block discarded – undo
26 26
     private string $userIsEnabledQuery = 'query ($hasAccess: Boolean = true) { user { isEnabled(hasAccess: $hasAccess) } }';
27 27
 
28 28
     private string $userFriendsQuery = <<<'QUERY'
29
-        query {
30
-          user {
31
-            friends(first: 2) {
32
-              edges {
33
-                node {
34
-                  name
35
-                }
36
-              }
37
-            }
38
-          }
39
-        }
40
-        QUERY;
41
-
42
-    private string $simpleMutationWithThunkQuery = <<<'MUTATION'
43
-        mutation M {
44
-          simpleMutationWithThunkFields(input: {inputData: %d, clientMutationId: "bac"}) {
45
-            result
46
-            clientMutationId
47
-          }
48
-        }
49
-        MUTATION;
50
-
51
-    public function setUp(): void
52
-    {
53
-        parent::setUp();
54
-        // load types
55
-        $this->loader = function ($class): void {
56
-            if (preg_match('@^'.preg_quote('Overblog\GraphQLBundle\Access\__DEFINITIONS__\\').'(.*)$@', $class, $matches)) {
57
-                $file = sys_get_temp_dir().'/OverblogGraphQLBundle/'.Kernel::VERSION.'/access/cache/testaccess/overblog/graphql-bundle/__definitions__/'.$matches[1].'.php';
58
-                if (file_exists($file)) {
59
-                    require $file;
60
-                }
61
-            }
62
-        };
63
-        spl_autoload_register($this->loader);
64
-    }
65
-
66
-    public function testCustomClassLoaderNotRegister(): void
67
-    {
68
-        $this->expectException(Error::class);
69
-        if ((int) phpversion() <= 7) {
70
-            $this->expectExceptionMessage('Class \'Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType\' not found');
71
-        } else {
72
-            $this->expectExceptionMessage('Class "Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType" not found');
73
-        }
74
-        spl_autoload_unregister($this->loader);
75
-        $this->assertResponse($this->userNameQuery, [], static::ANONYMOUS_USER, 'access');
76
-    }
77
-
78
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledTrue(): void
79
-    {
80
-        $this->assertResponse(
81
-            $this->userIsEnabledQuery,
82
-            ['data' => ['user' => ['isEnabled' => true]]],
83
-            static::ANONYMOUS_USER,
84
-            'access'
85
-        );
86
-    }
87
-
88
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledFalse(): void
89
-    {
90
-        $this->assertResponse(
91
-            $this->userIsEnabledQuery,
92
-            [
93
-                'data' => [
94
-                    'user' => [
95
-                        'isEnabled' => null,
96
-                    ],
97
-                ],
98
-                'extensions' => [
99
-                    'warnings' => [
100
-                        [
101
-                            'message' => 'Access denied to this field.',
102
-                            'locations' => [['line' => 1, 'column' => 45]],
103
-                            'path' => ['user', 'isEnabled'],
104
-                        ],
105
-                    ],
106
-                ],
107
-            ],
108
-            static::ANONYMOUS_USER,
109
-            'access',
110
-            '',
111
-            ['hasAccess' => false]
112
-        );
113
-    }
114
-
115
-    public function testNotAuthenticatedUserAccessToUserName(): void
116
-    {
117
-        $expected = [
118
-            'data' => [
119
-                'user' => [
120
-                    'name' => null,
121
-                ],
122
-            ],
123
-            'extensions' => [
124
-                'warnings' => [
125
-                    [
126
-                        'message' => 'Access denied to this field.',
127
-                        'locations' => [['line' => 1, 'column' => 16]],
128
-                        'path' => ['user', 'name'],
129
-                    ],
130
-                ],
131
-            ],
132
-        ];
133
-
134
-        $this->assertResponse($this->userNameQuery, $expected, static::ANONYMOUS_USER, 'access');
135
-    }
136
-
137
-    public function testNonAuthenticatedUserAccessSecuredFieldWhichInitiallyResolvesToArray(): void
138
-    {
139
-        $expected = [
140
-            'data' => [
141
-                'youShallNotSeeThisUnauthenticated' => null,
142
-            ],
143
-            'extensions' => [
144
-                'warnings' => [
145
-                    [
146
-                        'message' => 'Access denied to this field.',
147
-                        'locations' => [
148
-                            [
149
-                                'line' => 2,
150
-                                'column' => 3,
151
-                            ],
152
-                        ],
153
-                        'path' => ['youShallNotSeeThisUnauthenticated'],
154
-                    ],
155
-                ],
156
-            ],
157
-        ];
158
-
159
-        $query = <<<'QUERY'
160
-            {
161
-              youShallNotSeeThisUnauthenticated {
162
-                secretValue
163
-                youAreAuthenticated
164
-              }
165
-            }
166
-            QUERY;
167
-
168
-        $this->assertResponse($query, $expected, static::ANONYMOUS_USER, 'access');
169
-    }
170
-
171
-    public function testFullyAuthenticatedUserAccessToUserName(): void
172
-    {
173
-        $expected = [
174
-            'data' => [
175
-                'user' => [
176
-                    'name' => 'Dan',
177
-                ],
178
-            ],
179
-        ];
180
-
181
-        $this->assertResponse($this->userNameQuery, $expected, static::USER_RYAN, 'access');
182
-    }
183
-
184
-    public function testNotAuthenticatedUserAccessToUserRoles(): void
185
-    {
186
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::ANONYMOUS_USER, 'access');
187
-    }
188
-
189
-    public function testAuthenticatedUserAccessToUserRolesWithoutEnoughRights(): void
190
-    {
191
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::USER_RYAN, 'access');
192
-    }
193
-
194
-    public function testUserWithCorrectRightsAccessToUserRoles(): void
195
-    {
196
-        $expected = [
197
-            'data' => [
198
-                'user' => [
199
-                    'roles' => ['ROLE_USER'],
200
-                ],
201
-            ],
202
-        ];
203
-
204
-        $this->assertResponse($this->userRolesQuery, $expected, static::USER_ADMIN, 'access');
205
-    }
206
-
207
-    public function testUserForbiddenField(): void
208
-    {
209
-        $expected = [
210
-            'data' => [
211
-                'user' => null,
212
-            ],
213
-            'extensions' => [
214
-                'warnings' => [
215
-                    [
216
-                        'message' => 'Access denied to this field.',
217
-                        'locations' => [
218
-                            [
219
-                                'line' => 3,
220
-                                'column' => 5,
221
-                            ],
222
-                        ],
223
-                        'path' => ['user', 'forbidden'],
224
-                    ],
225
-                ],
226
-            ],
227
-        ];
228
-
229
-        $query = <<<'QUERY'
230
-            query MyQuery {
231
-              user {
232
-                forbidden
233
-              }
234
-            }
235
-            QUERY;
236
-
237
-        $this->assertResponse($query, $expected, static::USER_ADMIN, 'access');
238
-    }
239
-
240
-    public function testUserAccessToUserFriends(): void
241
-    {
242
-        $expected = [
243
-            'data' => [
244
-                'user' => [
245
-                    'friends' => [
246
-                        'edges' => [
247
-                            ['node' => ['name' => 'Nick']],
248
-                            ['node' => null],
249
-                        ],
250
-                    ],
251
-                ],
252
-            ],
253
-        ];
254
-
255
-        $this->assertResponse($this->userFriendsQuery, $expected, static::USER_ADMIN, 'access');
256
-    }
257
-
258
-    public function testUserAccessToUserFriendsAsArray(): void
259
-    {
260
-        $expected = [
261
-            'data' => [
262
-                'user' => [
263
-                    'friendsAsArray' => [1, null, 3],
264
-                ],
265
-            ],
266
-        ];
267
-
268
-        $this->assertResponse('query { user { friendsAsArray } }', $expected, static::USER_ADMIN, 'access');
269
-    }
270
-
271
-    public function testMutationAllowedUser(): void
272
-    {
273
-        $result = 123;
274
-
275
-        $expected = [
276
-            'data' => [
277
-                'simpleMutationWithThunkFields' => [
278
-                    'result' => $result,
279
-                    'clientMutationId' => 'bac',
280
-                ],
281
-            ],
282
-        ];
283
-
284
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, $result), $expected, static::USER_ADMIN, 'access');
285
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
286
-    }
287
-
288
-    public function testMutationAllowedButNoRightsToDisplayPayload(): void
289
-    {
290
-        $expected = [
291
-            'data' => [
292
-                'simpleMutationWithThunkFields' => [
293
-                    'result' => null,
294
-                    'clientMutationId' => 'bac',
295
-                ],
296
-            ],
297
-            'extensions' => [
298
-                'warnings' => [
299
-                    [
300
-                        'message' => 'Access denied to this field.',
301
-                        'locations' => [
302
-                            [
303
-                                'line' => 3,
304
-                                'column' => 5,
305
-                            ],
306
-                        ],
307
-                        'path' => ['simpleMutationWithThunkFields', 'result'],
308
-                    ],
309
-                ],
310
-            ],
311
-        ];
312
-
313
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 321), $expected, static::USER_ADMIN, 'access');
314
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
315
-    }
316
-
317
-    public function testMutationNotAllowedUser(): void
318
-    {
319
-        $expected = [
320
-            'errors' => [
321
-                [
322
-                    'message' => 'Access denied to this field.',
323
-                    'locations' => [
324
-                        [
325
-                            'line' => 2,
326
-                            'column' => 3,
327
-                        ],
328
-                    ],
329
-                    'path' => ['simpleMutationWithThunkFields'],
330
-                ],
331
-            ],
332
-            'data' => [
333
-                'simpleMutationWithThunkFields' => null,
334
-            ],
335
-        ];
336
-
337
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 123), $expected, static::USER_RYAN, 'access');
338
-        $this->assertFalse(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
339
-    }
340
-
341
-    private function expectedFailedUserRoles(): array
342
-    {
343
-        return [
344
-            'data' => [
345
-                'user' => [
346
-                    'roles' => null,
347
-                ],
348
-            ],
349
-            'extensions' => [
350
-                'warnings' => [
351
-                    [
352
-                        'message' => 'Access denied to this field.',
353
-                        'locations' => [
354
-                            [
355
-                                'line' => 1,
356
-                                'column' => 16,
357
-                            ],
358
-                        ],
359
-                        'path' => [
360
-                            'user',
361
-                            'roles',
362
-                        ],
363
-                    ],
364
-                ],
365
-            ],
366
-        ];
367
-    }
368
-}
Please login to merge, or discard this patch.
Switch Indentation   -340 removed lines patch added patch discarded remove patch
@@ -26,343 +26,3 @@
 block discarded – undo
26 26
     private string $userIsEnabledQuery = 'query ($hasAccess: Boolean = true) { user { isEnabled(hasAccess: $hasAccess) } }';
27 27
 
28 28
     private string $userFriendsQuery = <<<'QUERY'
29
-        query {
30
-          user {
31
-            friends(first: 2) {
32
-              edges {
33
-                node {
34
-                  name
35
-                }
36
-              }
37
-            }
38
-          }
39
-        }
40
-        QUERY;
41
-
42
-    private string $simpleMutationWithThunkQuery = <<<'MUTATION'
43
-        mutation M {
44
-          simpleMutationWithThunkFields(input: {inputData: %d, clientMutationId: "bac"}) {
45
-            result
46
-            clientMutationId
47
-          }
48
-        }
49
-        MUTATION;
50
-
51
-    public function setUp(): void
52
-    {
53
-        parent::setUp();
54
-        // load types
55
-        $this->loader = function ($class): void {
56
-            if (preg_match('@^'.preg_quote('Overblog\GraphQLBundle\Access\__DEFINITIONS__\\').'(.*)$@', $class, $matches)) {
57
-                $file = sys_get_temp_dir().'/OverblogGraphQLBundle/'.Kernel::VERSION.'/access/cache/testaccess/overblog/graphql-bundle/__definitions__/'.$matches[1].'.php';
58
-                if (file_exists($file)) {
59
-                    require $file;
60
-                }
61
-            }
62
-        };
63
-        spl_autoload_register($this->loader);
64
-    }
65
-
66
-    public function testCustomClassLoaderNotRegister(): void
67
-    {
68
-        $this->expectException(Error::class);
69
-        if ((int) phpversion() <= 7) {
70
-            $this->expectExceptionMessage('Class \'Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType\' not found');
71
-        } else {
72
-            $this->expectExceptionMessage('Class "Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType" not found');
73
-        }
74
-        spl_autoload_unregister($this->loader);
75
-        $this->assertResponse($this->userNameQuery, [], static::ANONYMOUS_USER, 'access');
76
-    }
77
-
78
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledTrue(): void
79
-    {
80
-        $this->assertResponse(
81
-            $this->userIsEnabledQuery,
82
-            ['data' => ['user' => ['isEnabled' => true]]],
83
-            static::ANONYMOUS_USER,
84
-            'access'
85
-        );
86
-    }
87
-
88
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledFalse(): void
89
-    {
90
-        $this->assertResponse(
91
-            $this->userIsEnabledQuery,
92
-            [
93
-                'data' => [
94
-                    'user' => [
95
-                        'isEnabled' => null,
96
-                    ],
97
-                ],
98
-                'extensions' => [
99
-                    'warnings' => [
100
-                        [
101
-                            'message' => 'Access denied to this field.',
102
-                            'locations' => [['line' => 1, 'column' => 45]],
103
-                            'path' => ['user', 'isEnabled'],
104
-                        ],
105
-                    ],
106
-                ],
107
-            ],
108
-            static::ANONYMOUS_USER,
109
-            'access',
110
-            '',
111
-            ['hasAccess' => false]
112
-        );
113
-    }
114
-
115
-    public function testNotAuthenticatedUserAccessToUserName(): void
116
-    {
117
-        $expected = [
118
-            'data' => [
119
-                'user' => [
120
-                    'name' => null,
121
-                ],
122
-            ],
123
-            'extensions' => [
124
-                'warnings' => [
125
-                    [
126
-                        'message' => 'Access denied to this field.',
127
-                        'locations' => [['line' => 1, 'column' => 16]],
128
-                        'path' => ['user', 'name'],
129
-                    ],
130
-                ],
131
-            ],
132
-        ];
133
-
134
-        $this->assertResponse($this->userNameQuery, $expected, static::ANONYMOUS_USER, 'access');
135
-    }
136
-
137
-    public function testNonAuthenticatedUserAccessSecuredFieldWhichInitiallyResolvesToArray(): void
138
-    {
139
-        $expected = [
140
-            'data' => [
141
-                'youShallNotSeeThisUnauthenticated' => null,
142
-            ],
143
-            'extensions' => [
144
-                'warnings' => [
145
-                    [
146
-                        'message' => 'Access denied to this field.',
147
-                        'locations' => [
148
-                            [
149
-                                'line' => 2,
150
-                                'column' => 3,
151
-                            ],
152
-                        ],
153
-                        'path' => ['youShallNotSeeThisUnauthenticated'],
154
-                    ],
155
-                ],
156
-            ],
157
-        ];
158
-
159
-        $query = <<<'QUERY'
160
-            {
161
-              youShallNotSeeThisUnauthenticated {
162
-                secretValue
163
-                youAreAuthenticated
164
-              }
165
-            }
166
-            QUERY;
167
-
168
-        $this->assertResponse($query, $expected, static::ANONYMOUS_USER, 'access');
169
-    }
170
-
171
-    public function testFullyAuthenticatedUserAccessToUserName(): void
172
-    {
173
-        $expected = [
174
-            'data' => [
175
-                'user' => [
176
-                    'name' => 'Dan',
177
-                ],
178
-            ],
179
-        ];
180
-
181
-        $this->assertResponse($this->userNameQuery, $expected, static::USER_RYAN, 'access');
182
-    }
183
-
184
-    public function testNotAuthenticatedUserAccessToUserRoles(): void
185
-    {
186
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::ANONYMOUS_USER, 'access');
187
-    }
188
-
189
-    public function testAuthenticatedUserAccessToUserRolesWithoutEnoughRights(): void
190
-    {
191
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::USER_RYAN, 'access');
192
-    }
193
-
194
-    public function testUserWithCorrectRightsAccessToUserRoles(): void
195
-    {
196
-        $expected = [
197
-            'data' => [
198
-                'user' => [
199
-                    'roles' => ['ROLE_USER'],
200
-                ],
201
-            ],
202
-        ];
203
-
204
-        $this->assertResponse($this->userRolesQuery, $expected, static::USER_ADMIN, 'access');
205
-    }
206
-
207
-    public function testUserForbiddenField(): void
208
-    {
209
-        $expected = [
210
-            'data' => [
211
-                'user' => null,
212
-            ],
213
-            'extensions' => [
214
-                'warnings' => [
215
-                    [
216
-                        'message' => 'Access denied to this field.',
217
-                        'locations' => [
218
-                            [
219
-                                'line' => 3,
220
-                                'column' => 5,
221
-                            ],
222
-                        ],
223
-                        'path' => ['user', 'forbidden'],
224
-                    ],
225
-                ],
226
-            ],
227
-        ];
228
-
229
-        $query = <<<'QUERY'
230
-            query MyQuery {
231
-              user {
232
-                forbidden
233
-              }
234
-            }
235
-            QUERY;
236
-
237
-        $this->assertResponse($query, $expected, static::USER_ADMIN, 'access');
238
-    }
239
-
240
-    public function testUserAccessToUserFriends(): void
241
-    {
242
-        $expected = [
243
-            'data' => [
244
-                'user' => [
245
-                    'friends' => [
246
-                        'edges' => [
247
-                            ['node' => ['name' => 'Nick']],
248
-                            ['node' => null],
249
-                        ],
250
-                    ],
251
-                ],
252
-            ],
253
-        ];
254
-
255
-        $this->assertResponse($this->userFriendsQuery, $expected, static::USER_ADMIN, 'access');
256
-    }
257
-
258
-    public function testUserAccessToUserFriendsAsArray(): void
259
-    {
260
-        $expected = [
261
-            'data' => [
262
-                'user' => [
263
-                    'friendsAsArray' => [1, null, 3],
264
-                ],
265
-            ],
266
-        ];
267
-
268
-        $this->assertResponse('query { user { friendsAsArray } }', $expected, static::USER_ADMIN, 'access');
269
-    }
270
-
271
-    public function testMutationAllowedUser(): void
272
-    {
273
-        $result = 123;
274
-
275
-        $expected = [
276
-            'data' => [
277
-                'simpleMutationWithThunkFields' => [
278
-                    'result' => $result,
279
-                    'clientMutationId' => 'bac',
280
-                ],
281
-            ],
282
-        ];
283
-
284
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, $result), $expected, static::USER_ADMIN, 'access');
285
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
286
-    }
287
-
288
-    public function testMutationAllowedButNoRightsToDisplayPayload(): void
289
-    {
290
-        $expected = [
291
-            'data' => [
292
-                'simpleMutationWithThunkFields' => [
293
-                    'result' => null,
294
-                    'clientMutationId' => 'bac',
295
-                ],
296
-            ],
297
-            'extensions' => [
298
-                'warnings' => [
299
-                    [
300
-                        'message' => 'Access denied to this field.',
301
-                        'locations' => [
302
-                            [
303
-                                'line' => 3,
304
-                                'column' => 5,
305
-                            ],
306
-                        ],
307
-                        'path' => ['simpleMutationWithThunkFields', 'result'],
308
-                    ],
309
-                ],
310
-            ],
311
-        ];
312
-
313
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 321), $expected, static::USER_ADMIN, 'access');
314
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
315
-    }
316
-
317
-    public function testMutationNotAllowedUser(): void
318
-    {
319
-        $expected = [
320
-            'errors' => [
321
-                [
322
-                    'message' => 'Access denied to this field.',
323
-                    'locations' => [
324
-                        [
325
-                            'line' => 2,
326
-                            'column' => 3,
327
-                        ],
328
-                    ],
329
-                    'path' => ['simpleMutationWithThunkFields'],
330
-                ],
331
-            ],
332
-            'data' => [
333
-                'simpleMutationWithThunkFields' => null,
334
-            ],
335
-        ];
336
-
337
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 123), $expected, static::USER_RYAN, 'access');
338
-        $this->assertFalse(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
339
-    }
340
-
341
-    private function expectedFailedUserRoles(): array
342
-    {
343
-        return [
344
-            'data' => [
345
-                'user' => [
346
-                    'roles' => null,
347
-                ],
348
-            ],
349
-            'extensions' => [
350
-                'warnings' => [
351
-                    [
352
-                        'message' => 'Access denied to this field.',
353
-                        'locations' => [
354
-                            [
355
-                                'line' => 1,
356
-                                'column' => 16,
357
-                            ],
358
-                        ],
359
-                        'path' => [
360
-                            'user',
361
-                            'roles',
362
-                        ],
363
-                    ],
364
-                ],
365
-            ],
366
-        ];
367
-    }
368
-}
Please login to merge, or discard this patch.
Spacing   -340 removed lines patch added patch discarded remove patch
@@ -26,343 +26,3 @@
 block discarded – undo
26 26
     private string $userIsEnabledQuery = 'query ($hasAccess: Boolean = true) { user { isEnabled(hasAccess: $hasAccess) } }';
27 27
 
28 28
     private string $userFriendsQuery = <<<'QUERY'
29
-        query {
30
-          user {
31
-            friends(first: 2) {
32
-              edges {
33
-                node {
34
-                  name
35
-                }
36
-              }
37
-            }
38
-          }
39
-        }
40
-        QUERY;
41
-
42
-    private string $simpleMutationWithThunkQuery = <<<'MUTATION'
43
-        mutation M {
44
-          simpleMutationWithThunkFields(input: {inputData: %d, clientMutationId: "bac"}) {
45
-            result
46
-            clientMutationId
47
-          }
48
-        }
49
-        MUTATION;
50
-
51
-    public function setUp(): void
52
-    {
53
-        parent::setUp();
54
-        // load types
55
-        $this->loader = function ($class): void {
56
-            if (preg_match('@^'.preg_quote('Overblog\GraphQLBundle\Access\__DEFINITIONS__\\').'(.*)$@', $class, $matches)) {
57
-                $file = sys_get_temp_dir().'/OverblogGraphQLBundle/'.Kernel::VERSION.'/access/cache/testaccess/overblog/graphql-bundle/__definitions__/'.$matches[1].'.php';
58
-                if (file_exists($file)) {
59
-                    require $file;
60
-                }
61
-            }
62
-        };
63
-        spl_autoload_register($this->loader);
64
-    }
65
-
66
-    public function testCustomClassLoaderNotRegister(): void
67
-    {
68
-        $this->expectException(Error::class);
69
-        if ((int) phpversion() <= 7) {
70
-            $this->expectExceptionMessage('Class \'Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType\' not found');
71
-        } else {
72
-            $this->expectExceptionMessage('Class "Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType" not found');
73
-        }
74
-        spl_autoload_unregister($this->loader);
75
-        $this->assertResponse($this->userNameQuery, [], static::ANONYMOUS_USER, 'access');
76
-    }
77
-
78
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledTrue(): void
79
-    {
80
-        $this->assertResponse(
81
-            $this->userIsEnabledQuery,
82
-            ['data' => ['user' => ['isEnabled' => true]]],
83
-            static::ANONYMOUS_USER,
84
-            'access'
85
-        );
86
-    }
87
-
88
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledFalse(): void
89
-    {
90
-        $this->assertResponse(
91
-            $this->userIsEnabledQuery,
92
-            [
93
-                'data' => [
94
-                    'user' => [
95
-                        'isEnabled' => null,
96
-                    ],
97
-                ],
98
-                'extensions' => [
99
-                    'warnings' => [
100
-                        [
101
-                            'message' => 'Access denied to this field.',
102
-                            'locations' => [['line' => 1, 'column' => 45]],
103
-                            'path' => ['user', 'isEnabled'],
104
-                        ],
105
-                    ],
106
-                ],
107
-            ],
108
-            static::ANONYMOUS_USER,
109
-            'access',
110
-            '',
111
-            ['hasAccess' => false]
112
-        );
113
-    }
114
-
115
-    public function testNotAuthenticatedUserAccessToUserName(): void
116
-    {
117
-        $expected = [
118
-            'data' => [
119
-                'user' => [
120
-                    'name' => null,
121
-                ],
122
-            ],
123
-            'extensions' => [
124
-                'warnings' => [
125
-                    [
126
-                        'message' => 'Access denied to this field.',
127
-                        'locations' => [['line' => 1, 'column' => 16]],
128
-                        'path' => ['user', 'name'],
129
-                    ],
130
-                ],
131
-            ],
132
-        ];
133
-
134
-        $this->assertResponse($this->userNameQuery, $expected, static::ANONYMOUS_USER, 'access');
135
-    }
136
-
137
-    public function testNonAuthenticatedUserAccessSecuredFieldWhichInitiallyResolvesToArray(): void
138
-    {
139
-        $expected = [
140
-            'data' => [
141
-                'youShallNotSeeThisUnauthenticated' => null,
142
-            ],
143
-            'extensions' => [
144
-                'warnings' => [
145
-                    [
146
-                        'message' => 'Access denied to this field.',
147
-                        'locations' => [
148
-                            [
149
-                                'line' => 2,
150
-                                'column' => 3,
151
-                            ],
152
-                        ],
153
-                        'path' => ['youShallNotSeeThisUnauthenticated'],
154
-                    ],
155
-                ],
156
-            ],
157
-        ];
158
-
159
-        $query = <<<'QUERY'
160
-            {
161
-              youShallNotSeeThisUnauthenticated {
162
-                secretValue
163
-                youAreAuthenticated
164
-              }
165
-            }
166
-            QUERY;
167
-
168
-        $this->assertResponse($query, $expected, static::ANONYMOUS_USER, 'access');
169
-    }
170
-
171
-    public function testFullyAuthenticatedUserAccessToUserName(): void
172
-    {
173
-        $expected = [
174
-            'data' => [
175
-                'user' => [
176
-                    'name' => 'Dan',
177
-                ],
178
-            ],
179
-        ];
180
-
181
-        $this->assertResponse($this->userNameQuery, $expected, static::USER_RYAN, 'access');
182
-    }
183
-
184
-    public function testNotAuthenticatedUserAccessToUserRoles(): void
185
-    {
186
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::ANONYMOUS_USER, 'access');
187
-    }
188
-
189
-    public function testAuthenticatedUserAccessToUserRolesWithoutEnoughRights(): void
190
-    {
191
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::USER_RYAN, 'access');
192
-    }
193
-
194
-    public function testUserWithCorrectRightsAccessToUserRoles(): void
195
-    {
196
-        $expected = [
197
-            'data' => [
198
-                'user' => [
199
-                    'roles' => ['ROLE_USER'],
200
-                ],
201
-            ],
202
-        ];
203
-
204
-        $this->assertResponse($this->userRolesQuery, $expected, static::USER_ADMIN, 'access');
205
-    }
206
-
207
-    public function testUserForbiddenField(): void
208
-    {
209
-        $expected = [
210
-            'data' => [
211
-                'user' => null,
212
-            ],
213
-            'extensions' => [
214
-                'warnings' => [
215
-                    [
216
-                        'message' => 'Access denied to this field.',
217
-                        'locations' => [
218
-                            [
219
-                                'line' => 3,
220
-                                'column' => 5,
221
-                            ],
222
-                        ],
223
-                        'path' => ['user', 'forbidden'],
224
-                    ],
225
-                ],
226
-            ],
227
-        ];
228
-
229
-        $query = <<<'QUERY'
230
-            query MyQuery {
231
-              user {
232
-                forbidden
233
-              }
234
-            }
235
-            QUERY;
236
-
237
-        $this->assertResponse($query, $expected, static::USER_ADMIN, 'access');
238
-    }
239
-
240
-    public function testUserAccessToUserFriends(): void
241
-    {
242
-        $expected = [
243
-            'data' => [
244
-                'user' => [
245
-                    'friends' => [
246
-                        'edges' => [
247
-                            ['node' => ['name' => 'Nick']],
248
-                            ['node' => null],
249
-                        ],
250
-                    ],
251
-                ],
252
-            ],
253
-        ];
254
-
255
-        $this->assertResponse($this->userFriendsQuery, $expected, static::USER_ADMIN, 'access');
256
-    }
257
-
258
-    public function testUserAccessToUserFriendsAsArray(): void
259
-    {
260
-        $expected = [
261
-            'data' => [
262
-                'user' => [
263
-                    'friendsAsArray' => [1, null, 3],
264
-                ],
265
-            ],
266
-        ];
267
-
268
-        $this->assertResponse('query { user { friendsAsArray } }', $expected, static::USER_ADMIN, 'access');
269
-    }
270
-
271
-    public function testMutationAllowedUser(): void
272
-    {
273
-        $result = 123;
274
-
275
-        $expected = [
276
-            'data' => [
277
-                'simpleMutationWithThunkFields' => [
278
-                    'result' => $result,
279
-                    'clientMutationId' => 'bac',
280
-                ],
281
-            ],
282
-        ];
283
-
284
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, $result), $expected, static::USER_ADMIN, 'access');
285
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
286
-    }
287
-
288
-    public function testMutationAllowedButNoRightsToDisplayPayload(): void
289
-    {
290
-        $expected = [
291
-            'data' => [
292
-                'simpleMutationWithThunkFields' => [
293
-                    'result' => null,
294
-                    'clientMutationId' => 'bac',
295
-                ],
296
-            ],
297
-            'extensions' => [
298
-                'warnings' => [
299
-                    [
300
-                        'message' => 'Access denied to this field.',
301
-                        'locations' => [
302
-                            [
303
-                                'line' => 3,
304
-                                'column' => 5,
305
-                            ],
306
-                        ],
307
-                        'path' => ['simpleMutationWithThunkFields', 'result'],
308
-                    ],
309
-                ],
310
-            ],
311
-        ];
312
-
313
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 321), $expected, static::USER_ADMIN, 'access');
314
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
315
-    }
316
-
317
-    public function testMutationNotAllowedUser(): void
318
-    {
319
-        $expected = [
320
-            'errors' => [
321
-                [
322
-                    'message' => 'Access denied to this field.',
323
-                    'locations' => [
324
-                        [
325
-                            'line' => 2,
326
-                            'column' => 3,
327
-                        ],
328
-                    ],
329
-                    'path' => ['simpleMutationWithThunkFields'],
330
-                ],
331
-            ],
332
-            'data' => [
333
-                'simpleMutationWithThunkFields' => null,
334
-            ],
335
-        ];
336
-
337
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 123), $expected, static::USER_RYAN, 'access');
338
-        $this->assertFalse(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
339
-    }
340
-
341
-    private function expectedFailedUserRoles(): array
342
-    {
343
-        return [
344
-            'data' => [
345
-                'user' => [
346
-                    'roles' => null,
347
-                ],
348
-            ],
349
-            'extensions' => [
350
-                'warnings' => [
351
-                    [
352
-                        'message' => 'Access denied to this field.',
353
-                        'locations' => [
354
-                            [
355
-                                'line' => 1,
356
-                                'column' => 16,
357
-                            ],
358
-                        ],
359
-                        'path' => [
360
-                            'user',
361
-                            'roles',
362
-                        ],
363
-                    ],
364
-                ],
365
-            ],
366
-        ];
367
-    }
368
-}
Please login to merge, or discard this patch.
Braces   -340 removed lines patch added patch discarded remove patch
@@ -26,343 +26,3 @@
 block discarded – undo
26 26
     private string $userIsEnabledQuery = 'query ($hasAccess: Boolean = true) { user { isEnabled(hasAccess: $hasAccess) } }';
27 27
 
28 28
     private string $userFriendsQuery = <<<'QUERY'
29
-        query {
30
-          user {
31
-            friends(first: 2) {
32
-              edges {
33
-                node {
34
-                  name
35
-                }
36
-              }
37
-            }
38
-          }
39
-        }
40
-        QUERY;
41
-
42
-    private string $simpleMutationWithThunkQuery = <<<'MUTATION'
43
-        mutation M {
44
-          simpleMutationWithThunkFields(input: {inputData: %d, clientMutationId: "bac"}) {
45
-            result
46
-            clientMutationId
47
-          }
48
-        }
49
-        MUTATION;
50
-
51
-    public function setUp(): void
52
-    {
53
-        parent::setUp();
54
-        // load types
55
-        $this->loader = function ($class): void {
56
-            if (preg_match('@^'.preg_quote('Overblog\GraphQLBundle\Access\__DEFINITIONS__\\').'(.*)$@', $class, $matches)) {
57
-                $file = sys_get_temp_dir().'/OverblogGraphQLBundle/'.Kernel::VERSION.'/access/cache/testaccess/overblog/graphql-bundle/__definitions__/'.$matches[1].'.php';
58
-                if (file_exists($file)) {
59
-                    require $file;
60
-                }
61
-            }
62
-        };
63
-        spl_autoload_register($this->loader);
64
-    }
65
-
66
-    public function testCustomClassLoaderNotRegister(): void
67
-    {
68
-        $this->expectException(Error::class);
69
-        if ((int) phpversion() <= 7) {
70
-            $this->expectExceptionMessage('Class \'Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType\' not found');
71
-        } else {
72
-            $this->expectExceptionMessage('Class "Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType" not found');
73
-        }
74
-        spl_autoload_unregister($this->loader);
75
-        $this->assertResponse($this->userNameQuery, [], static::ANONYMOUS_USER, 'access');
76
-    }
77
-
78
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledTrue(): void
79
-    {
80
-        $this->assertResponse(
81
-            $this->userIsEnabledQuery,
82
-            ['data' => ['user' => ['isEnabled' => true]]],
83
-            static::ANONYMOUS_USER,
84
-            'access'
85
-        );
86
-    }
87
-
88
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledFalse(): void
89
-    {
90
-        $this->assertResponse(
91
-            $this->userIsEnabledQuery,
92
-            [
93
-                'data' => [
94
-                    'user' => [
95
-                        'isEnabled' => null,
96
-                    ],
97
-                ],
98
-                'extensions' => [
99
-                    'warnings' => [
100
-                        [
101
-                            'message' => 'Access denied to this field.',
102
-                            'locations' => [['line' => 1, 'column' => 45]],
103
-                            'path' => ['user', 'isEnabled'],
104
-                        ],
105
-                    ],
106
-                ],
107
-            ],
108
-            static::ANONYMOUS_USER,
109
-            'access',
110
-            '',
111
-            ['hasAccess' => false]
112
-        );
113
-    }
114
-
115
-    public function testNotAuthenticatedUserAccessToUserName(): void
116
-    {
117
-        $expected = [
118
-            'data' => [
119
-                'user' => [
120
-                    'name' => null,
121
-                ],
122
-            ],
123
-            'extensions' => [
124
-                'warnings' => [
125
-                    [
126
-                        'message' => 'Access denied to this field.',
127
-                        'locations' => [['line' => 1, 'column' => 16]],
128
-                        'path' => ['user', 'name'],
129
-                    ],
130
-                ],
131
-            ],
132
-        ];
133
-
134
-        $this->assertResponse($this->userNameQuery, $expected, static::ANONYMOUS_USER, 'access');
135
-    }
136
-
137
-    public function testNonAuthenticatedUserAccessSecuredFieldWhichInitiallyResolvesToArray(): void
138
-    {
139
-        $expected = [
140
-            'data' => [
141
-                'youShallNotSeeThisUnauthenticated' => null,
142
-            ],
143
-            'extensions' => [
144
-                'warnings' => [
145
-                    [
146
-                        'message' => 'Access denied to this field.',
147
-                        'locations' => [
148
-                            [
149
-                                'line' => 2,
150
-                                'column' => 3,
151
-                            ],
152
-                        ],
153
-                        'path' => ['youShallNotSeeThisUnauthenticated'],
154
-                    ],
155
-                ],
156
-            ],
157
-        ];
158
-
159
-        $query = <<<'QUERY'
160
-            {
161
-              youShallNotSeeThisUnauthenticated {
162
-                secretValue
163
-                youAreAuthenticated
164
-              }
165
-            }
166
-            QUERY;
167
-
168
-        $this->assertResponse($query, $expected, static::ANONYMOUS_USER, 'access');
169
-    }
170
-
171
-    public function testFullyAuthenticatedUserAccessToUserName(): void
172
-    {
173
-        $expected = [
174
-            'data' => [
175
-                'user' => [
176
-                    'name' => 'Dan',
177
-                ],
178
-            ],
179
-        ];
180
-
181
-        $this->assertResponse($this->userNameQuery, $expected, static::USER_RYAN, 'access');
182
-    }
183
-
184
-    public function testNotAuthenticatedUserAccessToUserRoles(): void
185
-    {
186
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::ANONYMOUS_USER, 'access');
187
-    }
188
-
189
-    public function testAuthenticatedUserAccessToUserRolesWithoutEnoughRights(): void
190
-    {
191
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::USER_RYAN, 'access');
192
-    }
193
-
194
-    public function testUserWithCorrectRightsAccessToUserRoles(): void
195
-    {
196
-        $expected = [
197
-            'data' => [
198
-                'user' => [
199
-                    'roles' => ['ROLE_USER'],
200
-                ],
201
-            ],
202
-        ];
203
-
204
-        $this->assertResponse($this->userRolesQuery, $expected, static::USER_ADMIN, 'access');
205
-    }
206
-
207
-    public function testUserForbiddenField(): void
208
-    {
209
-        $expected = [
210
-            'data' => [
211
-                'user' => null,
212
-            ],
213
-            'extensions' => [
214
-                'warnings' => [
215
-                    [
216
-                        'message' => 'Access denied to this field.',
217
-                        'locations' => [
218
-                            [
219
-                                'line' => 3,
220
-                                'column' => 5,
221
-                            ],
222
-                        ],
223
-                        'path' => ['user', 'forbidden'],
224
-                    ],
225
-                ],
226
-            ],
227
-        ];
228
-
229
-        $query = <<<'QUERY'
230
-            query MyQuery {
231
-              user {
232
-                forbidden
233
-              }
234
-            }
235
-            QUERY;
236
-
237
-        $this->assertResponse($query, $expected, static::USER_ADMIN, 'access');
238
-    }
239
-
240
-    public function testUserAccessToUserFriends(): void
241
-    {
242
-        $expected = [
243
-            'data' => [
244
-                'user' => [
245
-                    'friends' => [
246
-                        'edges' => [
247
-                            ['node' => ['name' => 'Nick']],
248
-                            ['node' => null],
249
-                        ],
250
-                    ],
251
-                ],
252
-            ],
253
-        ];
254
-
255
-        $this->assertResponse($this->userFriendsQuery, $expected, static::USER_ADMIN, 'access');
256
-    }
257
-
258
-    public function testUserAccessToUserFriendsAsArray(): void
259
-    {
260
-        $expected = [
261
-            'data' => [
262
-                'user' => [
263
-                    'friendsAsArray' => [1, null, 3],
264
-                ],
265
-            ],
266
-        ];
267
-
268
-        $this->assertResponse('query { user { friendsAsArray } }', $expected, static::USER_ADMIN, 'access');
269
-    }
270
-
271
-    public function testMutationAllowedUser(): void
272
-    {
273
-        $result = 123;
274
-
275
-        $expected = [
276
-            'data' => [
277
-                'simpleMutationWithThunkFields' => [
278
-                    'result' => $result,
279
-                    'clientMutationId' => 'bac',
280
-                ],
281
-            ],
282
-        ];
283
-
284
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, $result), $expected, static::USER_ADMIN, 'access');
285
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
286
-    }
287
-
288
-    public function testMutationAllowedButNoRightsToDisplayPayload(): void
289
-    {
290
-        $expected = [
291
-            'data' => [
292
-                'simpleMutationWithThunkFields' => [
293
-                    'result' => null,
294
-                    'clientMutationId' => 'bac',
295
-                ],
296
-            ],
297
-            'extensions' => [
298
-                'warnings' => [
299
-                    [
300
-                        'message' => 'Access denied to this field.',
301
-                        'locations' => [
302
-                            [
303
-                                'line' => 3,
304
-                                'column' => 5,
305
-                            ],
306
-                        ],
307
-                        'path' => ['simpleMutationWithThunkFields', 'result'],
308
-                    ],
309
-                ],
310
-            ],
311
-        ];
312
-
313
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 321), $expected, static::USER_ADMIN, 'access');
314
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
315
-    }
316
-
317
-    public function testMutationNotAllowedUser(): void
318
-    {
319
-        $expected = [
320
-            'errors' => [
321
-                [
322
-                    'message' => 'Access denied to this field.',
323
-                    'locations' => [
324
-                        [
325
-                            'line' => 2,
326
-                            'column' => 3,
327
-                        ],
328
-                    ],
329
-                    'path' => ['simpleMutationWithThunkFields'],
330
-                ],
331
-            ],
332
-            'data' => [
333
-                'simpleMutationWithThunkFields' => null,
334
-            ],
335
-        ];
336
-
337
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 123), $expected, static::USER_RYAN, 'access');
338
-        $this->assertFalse(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
339
-    }
340
-
341
-    private function expectedFailedUserRoles(): array
342
-    {
343
-        return [
344
-            'data' => [
345
-                'user' => [
346
-                    'roles' => null,
347
-                ],
348
-            ],
349
-            'extensions' => [
350
-                'warnings' => [
351
-                    [
352
-                        'message' => 'Access denied to this field.',
353
-                        'locations' => [
354
-                            [
355
-                                'line' => 1,
356
-                                'column' => 16,
357
-                            ],
358
-                        ],
359
-                        'path' => [
360
-                            'user',
361
-                            'roles',
362
-                        ],
363
-                    ],
364
-                ],
365
-            ],
366
-        ];
367
-    }
368
-}
Please login to merge, or discard this patch.
Upper-Lower-Casing   -340 removed lines patch added patch discarded remove patch
@@ -26,343 +26,3 @@
 block discarded – undo
26 26
     private string $userIsEnabledQuery = 'query ($hasAccess: Boolean = true) { user { isEnabled(hasAccess: $hasAccess) } }';
27 27
 
28 28
     private string $userFriendsQuery = <<<'QUERY'
29
-        query {
30
-          user {
31
-            friends(first: 2) {
32
-              edges {
33
-                node {
34
-                  name
35
-                }
36
-              }
37
-            }
38
-          }
39
-        }
40
-        QUERY;
41
-
42
-    private string $simpleMutationWithThunkQuery = <<<'MUTATION'
43
-        mutation M {
44
-          simpleMutationWithThunkFields(input: {inputData: %d, clientMutationId: "bac"}) {
45
-            result
46
-            clientMutationId
47
-          }
48
-        }
49
-        MUTATION;
50
-
51
-    public function setUp(): void
52
-    {
53
-        parent::setUp();
54
-        // load types
55
-        $this->loader = function ($class): void {
56
-            if (preg_match('@^'.preg_quote('Overblog\GraphQLBundle\Access\__DEFINITIONS__\\').'(.*)$@', $class, $matches)) {
57
-                $file = sys_get_temp_dir().'/OverblogGraphQLBundle/'.Kernel::VERSION.'/access/cache/testaccess/overblog/graphql-bundle/__definitions__/'.$matches[1].'.php';
58
-                if (file_exists($file)) {
59
-                    require $file;
60
-                }
61
-            }
62
-        };
63
-        spl_autoload_register($this->loader);
64
-    }
65
-
66
-    public function testCustomClassLoaderNotRegister(): void
67
-    {
68
-        $this->expectException(Error::class);
69
-        if ((int) phpversion() <= 7) {
70
-            $this->expectExceptionMessage('Class \'Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType\' not found');
71
-        } else {
72
-            $this->expectExceptionMessage('Class "Overblog\GraphQLBundle\Access\__DEFINITIONS__\RootQueryType" not found');
73
-        }
74
-        spl_autoload_unregister($this->loader);
75
-        $this->assertResponse($this->userNameQuery, [], static::ANONYMOUS_USER, 'access');
76
-    }
77
-
78
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledTrue(): void
79
-    {
80
-        $this->assertResponse(
81
-            $this->userIsEnabledQuery,
82
-            ['data' => ['user' => ['isEnabled' => true]]],
83
-            static::ANONYMOUS_USER,
84
-            'access'
85
-        );
86
-    }
87
-
88
-    public function testNotAuthenticatedUserAccessAsPromisedFulfilledFalse(): void
89
-    {
90
-        $this->assertResponse(
91
-            $this->userIsEnabledQuery,
92
-            [
93
-                'data' => [
94
-                    'user' => [
95
-                        'isEnabled' => null,
96
-                    ],
97
-                ],
98
-                'extensions' => [
99
-                    'warnings' => [
100
-                        [
101
-                            'message' => 'Access denied to this field.',
102
-                            'locations' => [['line' => 1, 'column' => 45]],
103
-                            'path' => ['user', 'isEnabled'],
104
-                        ],
105
-                    ],
106
-                ],
107
-            ],
108
-            static::ANONYMOUS_USER,
109
-            'access',
110
-            '',
111
-            ['hasAccess' => false]
112
-        );
113
-    }
114
-
115
-    public function testNotAuthenticatedUserAccessToUserName(): void
116
-    {
117
-        $expected = [
118
-            'data' => [
119
-                'user' => [
120
-                    'name' => null,
121
-                ],
122
-            ],
123
-            'extensions' => [
124
-                'warnings' => [
125
-                    [
126
-                        'message' => 'Access denied to this field.',
127
-                        'locations' => [['line' => 1, 'column' => 16]],
128
-                        'path' => ['user', 'name'],
129
-                    ],
130
-                ],
131
-            ],
132
-        ];
133
-
134
-        $this->assertResponse($this->userNameQuery, $expected, static::ANONYMOUS_USER, 'access');
135
-    }
136
-
137
-    public function testNonAuthenticatedUserAccessSecuredFieldWhichInitiallyResolvesToArray(): void
138
-    {
139
-        $expected = [
140
-            'data' => [
141
-                'youShallNotSeeThisUnauthenticated' => null,
142
-            ],
143
-            'extensions' => [
144
-                'warnings' => [
145
-                    [
146
-                        'message' => 'Access denied to this field.',
147
-                        'locations' => [
148
-                            [
149
-                                'line' => 2,
150
-                                'column' => 3,
151
-                            ],
152
-                        ],
153
-                        'path' => ['youShallNotSeeThisUnauthenticated'],
154
-                    ],
155
-                ],
156
-            ],
157
-        ];
158
-
159
-        $query = <<<'QUERY'
160
-            {
161
-              youShallNotSeeThisUnauthenticated {
162
-                secretValue
163
-                youAreAuthenticated
164
-              }
165
-            }
166
-            QUERY;
167
-
168
-        $this->assertResponse($query, $expected, static::ANONYMOUS_USER, 'access');
169
-    }
170
-
171
-    public function testFullyAuthenticatedUserAccessToUserName(): void
172
-    {
173
-        $expected = [
174
-            'data' => [
175
-                'user' => [
176
-                    'name' => 'Dan',
177
-                ],
178
-            ],
179
-        ];
180
-
181
-        $this->assertResponse($this->userNameQuery, $expected, static::USER_RYAN, 'access');
182
-    }
183
-
184
-    public function testNotAuthenticatedUserAccessToUserRoles(): void
185
-    {
186
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::ANONYMOUS_USER, 'access');
187
-    }
188
-
189
-    public function testAuthenticatedUserAccessToUserRolesWithoutEnoughRights(): void
190
-    {
191
-        $this->assertResponse($this->userRolesQuery, $this->expectedFailedUserRoles(), static::USER_RYAN, 'access');
192
-    }
193
-
194
-    public function testUserWithCorrectRightsAccessToUserRoles(): void
195
-    {
196
-        $expected = [
197
-            'data' => [
198
-                'user' => [
199
-                    'roles' => ['ROLE_USER'],
200
-                ],
201
-            ],
202
-        ];
203
-
204
-        $this->assertResponse($this->userRolesQuery, $expected, static::USER_ADMIN, 'access');
205
-    }
206
-
207
-    public function testUserForbiddenField(): void
208
-    {
209
-        $expected = [
210
-            'data' => [
211
-                'user' => null,
212
-            ],
213
-            'extensions' => [
214
-                'warnings' => [
215
-                    [
216
-                        'message' => 'Access denied to this field.',
217
-                        'locations' => [
218
-                            [
219
-                                'line' => 3,
220
-                                'column' => 5,
221
-                            ],
222
-                        ],
223
-                        'path' => ['user', 'forbidden'],
224
-                    ],
225
-                ],
226
-            ],
227
-        ];
228
-
229
-        $query = <<<'QUERY'
230
-            query MyQuery {
231
-              user {
232
-                forbidden
233
-              }
234
-            }
235
-            QUERY;
236
-
237
-        $this->assertResponse($query, $expected, static::USER_ADMIN, 'access');
238
-    }
239
-
240
-    public function testUserAccessToUserFriends(): void
241
-    {
242
-        $expected = [
243
-            'data' => [
244
-                'user' => [
245
-                    'friends' => [
246
-                        'edges' => [
247
-                            ['node' => ['name' => 'Nick']],
248
-                            ['node' => null],
249
-                        ],
250
-                    ],
251
-                ],
252
-            ],
253
-        ];
254
-
255
-        $this->assertResponse($this->userFriendsQuery, $expected, static::USER_ADMIN, 'access');
256
-    }
257
-
258
-    public function testUserAccessToUserFriendsAsArray(): void
259
-    {
260
-        $expected = [
261
-            'data' => [
262
-                'user' => [
263
-                    'friendsAsArray' => [1, null, 3],
264
-                ],
265
-            ],
266
-        ];
267
-
268
-        $this->assertResponse('query { user { friendsAsArray } }', $expected, static::USER_ADMIN, 'access');
269
-    }
270
-
271
-    public function testMutationAllowedUser(): void
272
-    {
273
-        $result = 123;
274
-
275
-        $expected = [
276
-            'data' => [
277
-                'simpleMutationWithThunkFields' => [
278
-                    'result' => $result,
279
-                    'clientMutationId' => 'bac',
280
-                ],
281
-            ],
282
-        ];
283
-
284
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, $result), $expected, static::USER_ADMIN, 'access');
285
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
286
-    }
287
-
288
-    public function testMutationAllowedButNoRightsToDisplayPayload(): void
289
-    {
290
-        $expected = [
291
-            'data' => [
292
-                'simpleMutationWithThunkFields' => [
293
-                    'result' => null,
294
-                    'clientMutationId' => 'bac',
295
-                ],
296
-            ],
297
-            'extensions' => [
298
-                'warnings' => [
299
-                    [
300
-                        'message' => 'Access denied to this field.',
301
-                        'locations' => [
302
-                            [
303
-                                'line' => 3,
304
-                                'column' => 5,
305
-                            ],
306
-                        ],
307
-                        'path' => ['simpleMutationWithThunkFields', 'result'],
308
-                    ],
309
-                ],
310
-            ],
311
-        ];
312
-
313
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 321), $expected, static::USER_ADMIN, 'access');
314
-        $this->assertTrue(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
315
-    }
316
-
317
-    public function testMutationNotAllowedUser(): void
318
-    {
319
-        $expected = [
320
-            'errors' => [
321
-                [
322
-                    'message' => 'Access denied to this field.',
323
-                    'locations' => [
324
-                        [
325
-                            'line' => 2,
326
-                            'column' => 3,
327
-                        ],
328
-                    ],
329
-                    'path' => ['simpleMutationWithThunkFields'],
330
-                ],
331
-            ],
332
-            'data' => [
333
-                'simpleMutationWithThunkFields' => null,
334
-            ],
335
-        ];
336
-
337
-        $this->assertResponse(sprintf($this->simpleMutationWithThunkQuery, 123), $expected, static::USER_RYAN, 'access');
338
-        $this->assertFalse(SimpleMutationWithThunkFieldsMutation::hasMutate(true));
339
-    }
340
-
341
-    private function expectedFailedUserRoles(): array
342
-    {
343
-        return [
344
-            'data' => [
345
-                'user' => [
346
-                    'roles' => null,
347
-                ],
348
-            ],
349
-            'extensions' => [
350
-                'warnings' => [
351
-                    [
352
-                        'message' => 'Access denied to this field.',
353
-                        'locations' => [
354
-                            [
355
-                                'line' => 1,
356
-                                'column' => 16,
357
-                            ],
358
-                        ],
359
-                        'path' => [
360
-                            'user',
361
-                            'roles',
362
-                        ],
363
-                    ],
364
-                ],
365
-            ],
366
-        ];
367
-    }
368
-}
Please login to merge, or discard this patch.
tests/Functional/Exception/ExceptionTest.php 5 patches
Indentation   -25 removed lines patch added patch discarded remove patch
@@ -18,28 +18,3 @@
 block discarded – undo
18 18
     public function testExceptionIsMappedToAWarning(): void
19 19
     {
20 20
         $query = <<<'EOF'
21
-            query ExceptionQuery {
22
-                test
23
-            }
24
-            EOF;
25
-
26
-        $expectedData = [
27
-            'test' => null,
28
-        ];
29
-
30
-        $expectedErrors = [
31
-            [
32
-                'message' => 'Invalid argument exception',
33
-                'locations' => [
34
-                    [
35
-                        'line' => 2,
36
-                        'column' => 5,
37
-                    ],
38
-                ],
39
-                'path' => ['test'],
40
-            ],
41
-        ];
42
-
43
-        $this->assertGraphQL($query, $expectedData, $expectedErrors);
44
-    }
45
-}
Please login to merge, or discard this patch.
Switch Indentation   -25 removed lines patch added patch discarded remove patch
@@ -18,28 +18,3 @@
 block discarded – undo
18 18
     public function testExceptionIsMappedToAWarning(): void
19 19
     {
20 20
         $query = <<<'EOF'
21
-            query ExceptionQuery {
22
-                test
23
-            }
24
-            EOF;
25
-
26
-        $expectedData = [
27
-            'test' => null,
28
-        ];
29
-
30
-        $expectedErrors = [
31
-            [
32
-                'message' => 'Invalid argument exception',
33
-                'locations' => [
34
-                    [
35
-                        'line' => 2,
36
-                        'column' => 5,
37
-                    ],
38
-                ],
39
-                'path' => ['test'],
40
-            ],
41
-        ];
42
-
43
-        $this->assertGraphQL($query, $expectedData, $expectedErrors);
44
-    }
45
-}
Please login to merge, or discard this patch.
Spacing   -25 removed lines patch added patch discarded remove patch
@@ -18,28 +18,3 @@
 block discarded – undo
18 18
     public function testExceptionIsMappedToAWarning(): void
19 19
     {
20 20
         $query = <<<'EOF'
21
-            query ExceptionQuery {
22
-                test
23
-            }
24
-            EOF;
25
-
26
-        $expectedData = [
27
-            'test' => null,
28
-        ];
29
-
30
-        $expectedErrors = [
31
-            [
32
-                'message' => 'Invalid argument exception',
33
-                'locations' => [
34
-                    [
35
-                        'line' => 2,
36
-                        'column' => 5,
37
-                    ],
38
-                ],
39
-                'path' => ['test'],
40
-            ],
41
-        ];
42
-
43
-        $this->assertGraphQL($query, $expectedData, $expectedErrors);
44
-    }
45
-}
Please login to merge, or discard this patch.
Braces   -25 removed lines patch added patch discarded remove patch
@@ -18,28 +18,3 @@
 block discarded – undo
18 18
     public function testExceptionIsMappedToAWarning(): void
19 19
     {
20 20
         $query = <<<'EOF'
21
-            query ExceptionQuery {
22
-                test
23
-            }
24
-            EOF;
25
-
26
-        $expectedData = [
27
-            'test' => null,
28
-        ];
29
-
30
-        $expectedErrors = [
31
-            [
32
-                'message' => 'Invalid argument exception',
33
-                'locations' => [
34
-                    [
35
-                        'line' => 2,
36
-                        'column' => 5,
37
-                    ],
38
-                ],
39
-                'path' => ['test'],
40
-            ],
41
-        ];
42
-
43
-        $this->assertGraphQL($query, $expectedData, $expectedErrors);
44
-    }
45
-}
Please login to merge, or discard this patch.
Upper-Lower-Casing   -25 removed lines patch added patch discarded remove patch
@@ -18,28 +18,3 @@
 block discarded – undo
18 18
     public function testExceptionIsMappedToAWarning(): void
19 19
     {
20 20
         $query = <<<'EOF'
21
-            query ExceptionQuery {
22
-                test
23
-            }
24
-            EOF;
25
-
26
-        $expectedData = [
27
-            'test' => null,
28
-        ];
29
-
30
-        $expectedErrors = [
31
-            [
32
-                'message' => 'Invalid argument exception',
33
-                'locations' => [
34
-                    [
35
-                        'line' => 2,
36
-                        'column' => 5,
37
-                    ],
38
-                ],
39
-                'path' => ['test'],
40
-            ],
41
-        ];
42
-
43
-        $this->assertGraphQL($query, $expectedData, $expectedErrors);
44
-    }
45
-}
Please login to merge, or discard this patch.