Add test for Rails Redis cookie store integration

This commit is contained in:
Vikram Rangnekar 2019-04-13 10:30:02 -04:00
parent 5bd2f5a339
commit 710a8c1115
8 changed files with 55 additions and 19 deletions

View File

@ -24,7 +24,7 @@ auth_fail_block: never
# person: people # person: people
# sheep: sheep # sheep: sheep
auth: auth:
# Can be 'rails' or 'jwt' # Can be 'rails' or 'jwt'
type: rails type: rails
cookie: _app_session cookie: _app_session
@ -40,12 +40,12 @@ auth:
# Found in 'Rails.application.config.secret_key_base' # Found in 'Rails.application.config.secret_key_base'
secret_key_base: 0a248500a64c01184edbf8097ac... secret_key_base: 0a248500a64c01184edbf8097ac...
# Remote cookie store. (memcache or redis) # Remote cookie store. (memcache or redis)
# url: redis://127.0.0.1:6379 # url: redis://redis:6379
# password: test # password: ""
# max_idle: 80, # max_idle: 80
# max_active: 12000, # max_active: 12000
# In most cases you don't need these # In most cases you don't need these
# salt: "encrypted cookie" # salt: "encrypted cookie"
@ -66,20 +66,20 @@ database:
dbname: app_development dbname: app_development
user: postgres user: postgres
password: '' password: ''
#schema: "public" #schema: "public"
#pool_size: 10 #pool_size: 10
#max_retries: 0 #max_retries: 0
#log_level: "debug" #log_level: "debug"
# Define variables here that you want to use in filters # Define variables here that you want to use in filters
variables: variables:
account_id: "select account_id from users where id = $user_id" account_id: "select account_id from users where id = $user_id"
# Define defaults to for the field key and values below # Define defaults to for the field key and values below
defaults: defaults:
filter: ["{ user_id: { eq: $user_id } }"] filter: ["{ user_id: { eq: $user_id } }"]
# Fields and table names that you wish to block # Fields and table names that you wish to block
blacklist: blacklist:
- ar_internal_metadata - ar_internal_metadata
@ -99,10 +99,10 @@ database:
filter: [ filter: [
"{ price: { gt: 0 } }", "{ price: { gt: 0 } }",
"{ price: { lt: 8 } }" "{ price: { lt: 8 } }"
] ]
- name: customers - name: customers
# No filter is used for this field not # No filter is used for this field not
# even defaults.filter # even defaults.filter
filter: none filter: none
@ -113,4 +113,4 @@ database:
filter: ["{ id: { eq: $user_id } }"] filter: ["{ id: { eq: $user_id } }"]
# - name: posts # - name: posts
# filter: ["{ account_id: { _eq: $account_id } }"] # filter: ["{ account_id: { _eq: $account_id } }"]

View File

@ -3,6 +3,12 @@ services:
db: db:
image: postgres image: postgres
# redis:
# image: redis:alpine
# command: ["redis-server", "--appendonly", "yes"]
# ports:
# - "6379:6379"
super_graph: super_graph:
build: build:
context: . context: .
@ -17,7 +23,7 @@ services:
- .:/app - .:/app
working_dir: /app working_dir: /app
command: fresh -c fresh.conf command: fresh -c fresh.conf
web: web:
build: rails-app/. build: rails-app/.
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
@ -27,4 +33,5 @@ services:
- "3000:3000" - "3000:3000"
depends_on: depends_on:
- db - db
- super_graph - super_graph
- redis

View File

@ -6,8 +6,9 @@ module.exports = {
logo: '/hero.png', logo: '/hero.png',
nav: [ nav: [
{ text: 'Guide', link: '/guide' }, { text: 'Guide', link: '/guide' },
{ text: 'Install', link: '/install' },
{ text: 'Github', link: 'https://github.com/dosco/super-graph' }, { text: 'Github', link: 'https://github.com/dosco/super-graph' },
{ text: 'Docker', link: 'https://hub.docker.com/r/dosco/super-graph/builds' }, { text: 'Docker', link: 'https://hub.docker.com/r/dosco/super-graph/builds' },
] ]
} }
} }

View File

@ -4,11 +4,11 @@ build_name: runner-build
build_log: runner-build-errors.log build_log: runner-build-errors.log
valid_ext: .go, .tpl, .tmpl, .html, .yml valid_ext: .go, .tpl, .tmpl, .html, .yml
no_rebuild_ext: .tpl, .tmpl, .html no_rebuild_ext: .tpl, .tmpl, .html
ignored: web, tmp, vendor, demo, docs ignored: web, tmp, vendor, rails-app, docs
build_delay: 600 build_delay: 600
colors: 1 colors: 1
log_color_main: cyan log_color_main: cyan
log_color_build: yellow log_color_build: yellow
log_color_runner: green log_color_runner: green
log_color_watcher: magenta log_color_watcher: magenta
log_color_app: log_color_app:

View File

@ -63,3 +63,5 @@ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
gem 'devise' gem 'devise'
gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master' gem 'faker', :git => 'https://github.com/stympy/faker.git', :branch => 'master'
gem 'redis-rails'

View File

@ -165,6 +165,23 @@ GEM
rb-fsevent (0.10.3) rb-fsevent (0.10.3)
rb-inotify (0.10.0) rb-inotify (0.10.0)
ffi (~> 1.0) ffi (~> 1.0)
redis (4.1.0)
redis-actionpack (5.0.2)
actionpack (>= 4.0, < 6)
redis-rack (>= 1, < 3)
redis-store (>= 1.1.0, < 2)
redis-activesupport (5.0.7)
activesupport (>= 3, < 6)
redis-store (>= 1.3, < 2)
redis-rack (2.0.5)
rack (>= 1.5, < 3)
redis-store (>= 1.2, < 2)
redis-rails (5.0.2)
redis-actionpack (>= 5.0, < 6)
redis-activesupport (>= 5.0, < 6)
redis-store (>= 1.2, < 2)
redis-store (1.6.0)
redis (>= 2.2, < 5)
regexp_parser (1.3.0) regexp_parser (1.3.0)
responders (2.4.1) responders (2.4.1)
actionpack (>= 4.2.0, < 6.0) actionpack (>= 4.2.0, < 6.0)
@ -251,6 +268,7 @@ DEPENDENCIES
pg (>= 0.18, < 2.0) pg (>= 0.18, < 2.0)
puma (~> 3.11) puma (~> 3.11)
rails (~> 5.2.2, >= 5.2.2.1) rails (~> 5.2.2, >= 5.2.2.1)
redis-rails
sass-rails (~> 5.0) sass-rails (~> 5.0)
selenium-webdriver selenium-webdriver
spring spring

View File

@ -0,0 +1,5 @@
# Rails.application.config.session_store :redis_store,
# servers: ["redis://redis:6379/0/session"],
# expire_after: 90.minutes,
# key: "_app_session",
# threadsafe: false

View File

@ -34,7 +34,10 @@ class App extends Component {
endpoint="/api/v1/graphql" endpoint="/api/v1/graphql"
settings={{ settings={{
'schema.polling.enable': false, 'schema.polling.enable': false,
'request.credentials': 'include' 'request.credentials': 'include',
'general.betaUpdates': true,
'editor.reuseHeaders': true,
'editor.theme': 'dark'
}} }}
/> />
</Provider> </Provider>