graphql-engine/cabal.project.freeze
Puru Gupta 0383cb383b server: integration tests for zero-downtime env vars update on cloud
## Description

Add multitenant integration tests for zero downtime env variable configuration on cloud
- [x] `HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES`
- [x] `HASURA_GRAPHQL_DEV_MODE`
- [x] `HASURA_GRAPHQL_DEFAULT_NAMING_CONVENTION`
- [x] `HASURA_GRAPHQL_ENABLED_APIS`
- [x] `HASURA_GRAPHQL_ENABLE_ALLOWLIST`
- [x] `HASURA_GRAPHQL_ADMIN_INTERNAL_ERRORS`
- [ ] `HASURA_GRAPHQL_EXPERIMENTAL_FEATURES`
   - [x] inherited_roles (GA tests not needed)
   - [ ] optimise_permission_filters (pending)
   - [x] naming_convention (done as part of `HASURA_GRAPHQL_DEFAULT_NAMING_CONVENTION`)
   - [x] streaming_subscriptions (GA tests not needed)
   - [x] apollo_federation
   - [x] hide_update_many_fields
   - [x] bigquery_string_numeric_input (done as part of `HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES`)
   - [x] hide_aggregation_predicates
   - [x] hide_stream_fields
- [x] `HASURA_GRAPHQL_V1_BOOLEAN_NULL_COLLAPSE`

This PR also add the integration tests for changing auth mode dynamically. This test changes the auth mode from Admin Secret to JWT and finally to auth hook and checks that a sample query is run correctly.

```
Dynamic Auth mode changes are reflected properly
  test multitenant works fine when auth mode changes from ADMIN SECRET -> JWT -> AUTH HOOK  [ ]
  Spock is running on port 9231
  test multitenant works fine when auth mode changes from ADMIN SECRET -> JWT -> AUTH HOOK  [✔]
```

We know that OSS python tests (`test-server.sh`) has a more intensive auth mode tests. And hence the efforts in this [branch](https://github.com/hasura/graphql-engine-mono/compare/gqls/zero-downtime-envvars...naveen/tests-auth-changes-dynamically) tests multitenant server on all the auth tests of the pytest suite on a single running multitenant server. I can confirm that all those tests passed and thus gives us high confidence that we did not break any code related to auth.

Note that, the test in this PR is a very simple test to see that AUTH mode is working correctly. We are okay with this simple test because we have already tested the multitenant server on all the auth mode tests present in OSS pytest suite.

Epic: https://hasurahq.atlassian.net/browse/GS-232
Jira Ticket: https://hasurahq.atlassian.net/browse/GS-387

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/7721
Co-authored-by: Naveen Naidu <30195193+Naveenaidu@users.noreply.github.com>
Co-authored-by: Anon Ray <616387+ecthiender@users.noreply.github.com>
GitOrigin-RevId: 7fbe3d0d6e1dd2334b911c94f7f8bbaa170a8b59
2023-04-20 10:36:43 +00:00

421 lines
16 KiB
Plaintext

active-repositories: hackage.haskell.org:merge
constraints: any.Cabal ==3.6.3.0,
any.Diff ==0.4.1,
any.HTTP ==4000.4.1,
any.HUnit ==1.6.2.0,
any.MonadRandom ==0.6,
any.OneTuple ==0.3.1,
any.Only ==0.1,
any.QuickCheck ==2.14.2,
any.RSA ==2.4.1,
any.SHA ==1.6.4.4,
any.Spock ==0.14.0.0,
any.Spock-core ==0.14.0.1,
any.StateVar ==1.2.2,
any.adjunctions ==4.4.2,
any.aeson ==2.1.0.0,
any.aeson-casing ==0.2.0.0,
any.aeson-pretty ==0.8.9,
any.aeson-qq ==0.8.4,
any.alex ==3.2.7.1,
any.ansi-terminal ==0.11.3,
any.ansi-wl-pprint ==0.6.9,
any.appar ==0.1.8,
any.array ==0.5.4.0,
any.asn1-encoding ==0.9.6,
any.asn1-parse ==0.9.5,
any.asn1-types ==0.3.4,
any.assoc ==1.0.2,
any.async ==2.2.4,
any.atomic-primops ==0.8.4,
any.attoparsec ==0.14.4,
any.attoparsec-iso8601 ==1.1.0.0,
any.authenticate-oauth ==1.7,
any.auto-update ==0.1.6,
any.autodocodec ==0.2.0.3,
any.autodocodec-openapi3 ==0.2.1.1,
any.barbies ==2.0.3.1,
any.base ==4.16.4.0,
any.base-compat ==0.12.2,
any.base-compat-batteries ==0.12.2,
any.base-orphans ==0.8.7,
any.base-prelude ==1.6.1,
any.base16-bytestring ==1.0.2.0,
any.base64-bytestring ==1.2.1.0,
any.basement ==0.0.15,
any.bifunctors ==5.5.13,
any.bimap ==0.5.0,
any.binary ==0.8.9.0,
any.binary-parser ==0.5.7.2,
any.bitvec ==1.1.3.0,
any.blaze-builder ==0.4.2.2,
any.blaze-html ==0.9.1.2,
any.blaze-markup ==0.8.2.8,
any.boring ==0.2,
any.brick ==1.5,
any.bsb-http-chunked ==0.0.0.4,
any.bson ==0.4.0.1,
any.byteable ==0.1.1,
any.byteorder ==1.0.4,
any.bytestring ==0.11.3.1,
any.bytestring-builder ==0.10.8.2.0,
any.bytestring-lexing ==0.5.0.9,
any.bytestring-strict-builder ==0.4.5.6,
any.bytestring-tree-builder ==0.2.7.10,
any.cabal-doctest ==1.0.9,
any.call-stack ==0.4.0,
any.case-insensitive ==1.2.1.0,
any.cereal ==0.5.8.3,
any.charset ==0.3.9,
any.ci-info ==0.1.0.0,
any.clock ==0.8.3,
any.cmdargs ==0.10.21,
any.colour ==2.3.6,
any.comonad ==5.0.8,
any.concise ==0.1.0.1,
any.concurrent-output ==1.10.16,
any.conduit ==1.3.4.3,
any.conduit-extra ==1.3.6,
any.config-ini ==0.2.5.0,
any.connection ==0.3.1,
any.constraints ==0.13.4,
any.constraints-extras ==0.3.2.1,
any.containers ==0.6.5.1,
any.contravariant ==1.5.5,
any.contravariant-extras ==0.3.5.3,
any.cookie ==0.4.5,
any.cron ==0.7.0,
any.crypto-api ==0.13.3,
any.crypto-pubkey-types ==0.4.3,
any.cryptohash ==0.11.9,
any.cryptohash-md5 ==0.11.101.0,
any.cryptohash-sha1 ==0.11.101.0,
any.cryptonite ==0.30,
any.cryptostore ==0.3.0.0,
any.data-binary-ieee754 ==0.4.4,
any.data-bword ==0.1.0.2,
any.data-checked ==0.3,
any.data-clist ==0.2,
any.data-default ==0.7.1.1,
any.data-default-class ==0.1.2.0,
any.data-default-instances-containers ==0.0.1,
any.data-default-instances-dlist ==0.0.1,
any.data-default-instances-old-locale ==0.0.1,
any.data-dword ==0.3.2.1,
any.data-endian ==0.1.1,
any.data-fix ==0.3.2,
any.data-has ==0.4.0.0,
any.data-serializer ==0.3.5,
any.data-textual ==0.3.0.3,
any.dec ==0.0.5,
any.deepseq ==1.4.6.1,
any.deferred-folds ==0.9.18.2,
any.dependent-map ==0.4.0.0,
any.dependent-sum ==0.7.1.0,
any.dependent-sum-template ==0.1.1.1,
any.directory ==1.3.6.2,
any.distributive ==0.6.2.1,
any.dlist ==1.0,
any.dns ==4.1.0,
any.double-conversion ==2.0.4.1,
any.easy-file ==0.2.2,
any.either ==5.0.2,
any.ekg-core ==0.1.1.7,
any.ekg-json ==0.1.0.7,
any.ekg-prometheus ==0.3.0.0,
any.entropy ==0.4.1.10,
any.erf ==2.0.0.0,
any.errors ==2.3.0,
any.exceptions ==0.10.4,
any.extra ==1.7.12,
any.fail ==4.9.0.0,
any.fast-logger ==3.1.1,
any.file-embed ==0.0.15.0,
any.filepath ==1.4.2.2,
any.flush-queue ==1.0.0,
any.focus ==1.0.3,
any.fold-debounce ==0.2.0.10,
any.foldl ==1.4.12,
any.formatting ==7.1.3,
any.free ==5.1.9,
any.generic-lens ==2.2.1.0,
any.generic-lens-core ==2.2.1.0,
any.generic-monoid ==0.1.0.1,
any.generically ==0.1,
any.generics-sop ==0.5.1.2,
any.ghc ==9.2.5,
any.ghc-bignum ==1.2,
any.ghc-boot ==9.2.5,
any.ghc-boot-th ==9.2.5,
any.ghc-debug-convention ==0.4.0.0,
any.ghc-debug-stub ==0.4.0.0,
any.ghc-heap ==9.2.5,
any.ghc-heap-view ==0.6.3,
any.ghc-prim ==0.8.0,
any.ghci ==9.2.5,
any.happy ==1.20.0,
any.hashable ==1.4.1.0,
any.hashtables ==1.3.1,
any.haskell-lexer ==1.1,
any.haskell-src-exts ==1.23.1,
any.haskell-src-meta ==0.8.11,
any.hasql ==1.5.0.5,
any.hasql-pool ==0.5.2.2,
any.hasql-transaction ==1.0.1.1,
any.hedgehog ==1.2,
any.hedgehog-generic ==0.1,
any.hedis ==0.15.1,
any.hourglass ==0.2.12,
any.hpc ==0.6.1.0,
any.hs-opentelemetry-otlp ==0.0.1.0,
any.hsc2hs ==0.68.8,
any.hspec ==2.10.6,
any.hspec-core ==2.10.6,
any.hspec-discover ==2.10.6,
any.hspec-expectations ==0.8.2,
any.hspec-expectations-json ==1.0.0.7,
any.hspec-expectations-lifted ==0.10.0,
any.hspec-hedgehog ==0.0.1.2,
any.http-api-data ==0.5,
any.http-client ==0.7.13.1,
any.http-client-tls ==0.3.6.1,
any.http-conduit ==2.3.8,
any.http-date ==0.0.11,
any.http-media ==0.8.0.0,
any.http-types ==0.12.3,
any.http2 ==3.0.3,
any.hvect ==0.4.0.1,
any.immortal ==0.2.2.1,
any.indexed-profunctors ==0.1.1,
any.indexed-traversable ==0.1.2,
any.indexed-traversable-instances ==0.1.1.1,
any.insert-ordered-containers ==0.2.5.1,
any.inspection-testing ==0.4.6.1,
any.integer-gmp ==1.1,
any.integer-logarithms ==1.0.3.1,
any.invariant ==0.6,
any.iproute ==1.7.12,
any.iso8601-time ==0.1.5,
any.isomorphism-class ==0.1.0.7,
any.jose ==0.9,
any.jose-jwt ==0.9.4,
any.jwt ==0.11.0,
any.kan-extensions ==5.2.5,
any.keys ==3.12.3,
any.kriti-lang ==0.3.3,
any.launchdarkly-server-sdk ==4.0.0,
any.lens ==5.2,
any.lens-aeson ==1.2.2,
any.lens-family ==2.1.2,
any.lens-family-core ==2.1.2,
any.libyaml ==0.1.2,
any.lifted-async ==0.10.2.3,
any.lifted-base ==0.2.3.12,
any.list-t ==1.0.5.3,
any.logict ==0.8.0.0,
any.lrucache ==1.2.0.1,
any.lucid2 ==0.0.20221012,
any.managed ==1.0.9,
any.megaparsec ==9.2.2,
any.memory ==0.18.0,
any.microlens ==0.4.13.0,
any.microlens-mtl ==0.2.0.2,
any.microlens-th ==0.4.3.10,
any.mime-types ==0.1.1.0,
any.mmorph ==1.2.0,
any.monad-control ==1.0.3.1,
any.monad-logger ==0.3.37,
any.monad-loops ==0.4.3,
any.monad-time ==0.4.0.0,
any.monad-validate ==1.2.0.1,
any.mongoDB ==2.7.1.2,
any.mono-traversable ==1.0.15.3,
any.morpheus-graphql ==0.20.0,
any.morpheus-graphql-app ==0.20.0,
any.morpheus-graphql-code-gen ==0.20.0,
any.morpheus-graphql-core ==0.20.0,
any.mtl ==2.2.2,
any.mtl-compat ==0.2.2,
any.mustache ==2.4.1,
any.mysql ==0.2.1,
any.mysql-simple ==0.4.9,
any.natural-transformation ==0.4,
any.network ==3.1.2.7,
any.network-bsd ==2.8.1.0,
any.network-byte-order ==0.1.6,
any.network-info ==0.2.1,
any.network-ip ==0.3.0.3,
any.network-uri ==2.6.4.1,
any.nonce ==1.0.7,
any.nonempty-containers ==0.3.4.4,
any.nonempty-vector ==0.2.1.0,
any.odbc ==0.2.6,
any.old-locale ==1.0.0.7,
any.old-time ==1.1.0.3,
any.openapi3 ==3.2.2,
any.optics-core ==0.4.1,
any.optics-extra ==0.4.2.1,
any.optics-th ==0.4.1,
any.optparse-applicative ==0.16.1.0,
any.optparse-generic ==1.4.8,
any.parallel ==3.2.2.0,
any.parsec ==3.1.15.1,
any.parser-combinators ==1.3.0,
any.parsers ==0.12.11,
any.pcre-light ==0.4.1.0,
any.pem ==0.2.4,
any.pointed ==5.0.4,
any.postgres-options ==0.2.0.0,
any.postgresql-binary ==0.12.5,
any.postgresql-libpq ==0.9.4.3,
any.postgresql-simple ==0.6.5,
any.pretty ==1.1.3.6,
any.pretty-show ==1.10,
any.pretty-simple ==4.1.2.0,
any.prettyprinter ==1.7.1,
any.prettyprinter-ansi-terminal ==1.1.3,
any.primitive ==0.7.4.0,
any.primitive-extras ==0.10.1.5,
any.primitive-unlifted ==0.1.3.1,
any.process ==1.6.16.0,
any.profunctors ==5.6.2,
any.proto-lens ==0.7.1.2,
any.proto-lens-runtime ==0.7.0.3,
any.psqueues ==0.2.7.3,
any.pureMD5 ==2.1.4,
any.quickcheck-instances ==0.3.28,
any.quickcheck-io ==0.2.0,
any.random ==1.2.1.1,
any.random-shuffle ==0.0.4,
any.raw-strings-qq ==1.1,
any.recv ==0.0.0,
any.refined ==0.8,
any.reflection ==2.1.6,
any.regex-base ==0.94.0.2,
any.regex-tdfa ==1.3.2,
any.relude ==1.1.0.0,
any.reroute ==0.7.0.0,
any.resourcet ==1.2.6,
any.retry ==0.9.3.0,
any.rts ==1.0.2,
any.safe ==0.3.19,
any.safe-exceptions ==0.1.7.3,
any.sandwich ==0.1.2.0,
any.scanner ==0.3.1,
any.scientific ==0.3.7.0,
any.semialign ==1.2.0.1,
any.semigroupoids ==5.3.7,
any.semigroups ==0.20,
any.semver ==0.4.0.1,
any.servant ==0.19.1,
any.servant-client ==0.19,
any.servant-client-core ==0.19,
any.servant-openapi3 ==2.0.1.5,
any.servant-server ==0.19.2,
any.setenv ==0.1.1.3,
any.shakespeare ==2.0.30,
any.simple-sendfile ==0.2.30,
any.singleton-bool ==0.1.6,
any.socks ==0.6.1,
any.some ==1.0.3,
any.sop-core ==0.5.0.2,
any.split ==0.2.3.5,
any.splitmix ==0.1.0.4,
any.stm ==2.5.0.2,
any.stm-chans ==3.0.0.6,
any.stm-containers ==1.2,
any.stm-delay ==0.1.1.1,
any.stm-hamt ==1.2.0.8,
any.streaming-commons ==0.2.2.5,
any.strict ==0.4.0.1,
any.string-conversions ==0.4.0.1,
any.string-interpolate ==0.3.1.2,
any.superbuffer ==0.3.1.2,
any.syb ==0.7.2.2,
any.system-filepath ==0.4.14,
any.tagged ==0.8.6.1,
any.tasty ==1.4.2.3,
any.tasty-bench ==0.3.2,
any.template-haskell ==2.18.0.0,
any.template-haskell-compat-v0208 ==0.1.9.1,
any.temporary ==1.3,
any.terminal-size ==0.3.3,
any.terminfo ==0.4.1.5,
any.text ==1.2.5.0,
any.text-builder ==0.6.7,
any.text-builder-dev ==0.3.3,
any.text-conversions ==0.3.1.1,
any.text-latin1 ==0.3.1,
any.text-printer ==0.5.0.2,
any.text-short ==0.1.5,
any.text-zipper ==0.12,
any.tf-random ==0.5,
any.th-abstraction ==0.4.5.0,
any.th-compat ==0.1.4,
any.th-expand-syns ==0.4.10.0,
any.th-extras ==0.0.0.6,
any.th-lift ==0.8.2,
any.th-lift-instances ==0.1.20,
any.th-orphans ==0.13.14,
any.th-reify-many ==0.1.10,
any.these ==1.1.1.1,
any.these-skinny ==0.7.5,
any.time ==1.11.1.1,
any.time-compat ==1.9.6.1,
any.time-locale-compat ==0.1.1.5,
any.time-manager ==0.0.0,
any.tls ==1.6.0,
any.transformers ==0.5.6.2,
any.transformers-base ==0.4.6,
any.transformers-compat ==0.7.2,
any.type-equality ==1,
any.type-hint ==0.1,
any.typed-process ==0.2.10.1,
any.unagi-chan ==0.4.1.4,
any.unbounded-delays ==0.1.1.1,
any.unix ==2.7.2.2,
any.unix-compat ==0.6,
any.unix-time ==0.4.8,
any.unliftio ==0.2.23.0,
any.unliftio-core ==0.2.0.1,
any.unordered-containers ==0.2.19.1,
any.uri-bytestring ==0.3.3.1,
any.uri-encode ==1.5.0.7,
any.url ==2.1.3,
any.utf8-string ==1.0.2,
any.uuid ==1.3.15,
any.uuid-types ==1.0.5,
any.validation ==1.1.2,
any.validity ==0.12.0.1,
any.validity-scientific ==0.2.0.3,
any.vault ==0.3.1.5,
any.vector ==0.12.3.1,
any.vector-algorithms ==0.9.0.1,
any.vector-instances ==3.4,
any.void ==0.7.3,
any.vty ==5.37,
any.wai ==3.2.3,
any.wai-app-static ==3.1.7.4,
any.wai-extra ==3.1.13.0,
any.wai-logger ==2.4.0,
any.warp ==3.3.23,
any.wcwidth ==0.0.2,
any.websockets ==0.12.7.3,
any.wide-word ==0.1.1.2,
any.witch ==1.1.2.0,
any.witherable ==0.4.2,
any.wl-pprint-annotated ==0.1.0.1,
any.word-wrap ==0.5,
any.word8 ==0.1.3,
any.wreq ==0.5.3.3,
any.x509 ==1.7.7,
any.x509-store ==1.6.9,
any.x509-system ==1.6.7,
any.x509-validation ==1.6.12,
any.xml-conduit ==1.9.1.1,
any.xml-lens ==0.3.1,
any.xml-types ==0.3.8,
any.yaml ==0.11.8.0,
any.zlib ==0.6.3.0,
index-state: hackage.haskell.org 2023-03-27T13:56:15Z