Without knowing the specifics of the figaro gem I would wager yes, as they 
would appear to be blank.

Jon Rowe
---------------------------
[email protected]
jonrowe.co.uk


On Thursday, 28 June 2018 at 12:52, Serguei Cambour wrote:

> I have the following environment variables for mystore environment in 
> database.yml:
>  
> mystore:
>   adapter: oracle_enhanced
>   host: <%= ENV['mystore_db_host']%>
>   port: <%= ENV['mystore_db_port']%>
>   database: <%= ENV['mystore_db_name']%>
>   username: <%= ENV['mystore_db_user']%>
>   password: <%= ENV['mystore_db_password']%>
>  
> defined in 'development' section in application.yml (I'm using Figaro gem):
>  
> development:
>   mystore_db_port: "XXXX"
>   mystore_db_name: "XXXX"
>   mystore_db_user: "XXXX"
>   mystore_db_password: "XXXX"
>  
> test:
>   client_id: "XXX"
>   client_secret: "XXX
> ....
>  
> Should I add them to test section as well ?
>  
> On Thu, 28 Jun 2018 at 09:37, Jon Rowe <[email protected] 
> (mailto:[email protected])> wrote:
> > Sorry, no it doesn’t, RSpec doesn’t do *any* database connection work.
> >  
> > Your code is trying to access the database :mystore from your 
> > `config/database.yml` as thats what you’ve told it to do, perhaps your 
> > environment variables are empty on your local machine?  
> >  
> > Jon Rowe
> > ---------------------------
> > [email protected] (mailto:[email protected])
> > jonrowe.co.uk (http://jonrowe.co.uk)
> >  
> >  
> > On Wednesday, 27 June 2018 at 16:06, belgoros wrote:
> >  
> > >  
> > >  
> > > On Wednesday, 27 June 2018 17:04:35 UTC+2, belgoros wrote:
> > > >  
> > > >  
> > > > On Wednesday, 27 June 2018 16:26:36 UTC+2, Jon Rowe wrote:
> > > > > > Sure, I'd like to write some tests and I had an impression that 
> > > > > > when accessing a class that used mystore connection, RSpec tried to 
> > > > > > use the default connection defined in test group of database.yml. 
> > > > > > Is the way I'm truing to do that in testing correct ?
> > > > >  
> > > > > No, RSpec doesn’t do *any* database configuration, Rails will use the 
> > > > > environment named configuration by default, but 
> > > > > `establish_connection` *should* override it.
> > > > >  
> > > > > If it’s not behaving as you expect you might want to check that Rails 
> > > > > is loading your files correctly (as until `establish_connection` is 
> > > > > called you won’t have configured the other database).
> > > >  
> > > > Finally, it does not work as expected when using  
> > > >  
> > > > establish_connection(:mystore) unless Rails.env.test?
> > > > If I use just
> > > >  
> > > > establish_connection(:mystore)
> > > >  
> > > > I have another error when calling new on one of the mystore DB models:
> > > >  
> > > > ORA-12162: TNS:net service name is incorrectly specified
> > > > Does RSpec tries to access mystore_test table ?
> > >   
> > > > Sorry, I meant mystore_test database. Thank you.
> > > > >  
> > > > > Cheers  
> > > > >  
> > > > > Jon Rowe
> > > > > ---------------------------
> > > > > [email protected]
> > > > > jonrowe.co.uk (http://jonrowe.co.uk)
> > > > >  
> > > > >  
> > > > > On Wednesday, 27 June 2018 at 14:48, Serguei Cambour wrote:
> > > > >  
> > > > > > Thank you John !
> > > > > > What I need is to migrate some data from one DB (mystore 
> > > > > > connection) to another. That's why I had to write some specific 
> > > > > > Rake tasks to match tables attributes to be imported (mystore 
> > > > > > connection) to another DB defined in development group in 
> > > > > > database.yml. Sure, I'd like to write some tests and I had an 
> > > > > > impression that when accessing a class that used mystore 
> > > > > > connection, RSpec tried to use the default connection defined in 
> > > > > > test group of database.yml. Is the way I'm truing to do that in 
> > > > > > testing correct ? Thank you.
> > > > > >  
> > > > > >  
> > > > > > On Wed, 27 Jun 2018 at 15:43, Jon Rowe <[email protected]> wrote:
> > > > > > > Sorry I misunderstood your question!
> > > > > > >  
> > > > > > > What you need to do is specify multiple environments for your 
> > > > > > > second database, so you can establish an environment specific 
> > > > > > > connection. As you can see from your own configuration thats the 
> > > > > > > standard pattern, so you could then use `establish_connection` 
> > > > > > > with the appropriate db e.g. 
> > > > > > > `establish_connection(:”mystore_#{Rails.env}”)` and have a test 
> > > > > > > version of your second DB
> > > > > > >  
> > > > > > > Cheers
> > > > > > > Jon Rowe
> > > > > > > ---------------------------
> > > > > > > [email protected]
> > > > > > > jonrowe.co.uk (http://jonrowe.co.uk)
> > > > > > >  
> > > > > > >  
> > > > > > > On Wednesday, 27 June 2018 at 14:06, belgoros wrote:
> > > > > > >  
> > > > > > > > I had to modify my base class by adding  
> > > > > > > > unless Rails.env.test?
> > > > > > > >  
> > > > > > > >  
> > > > > > > > condition:
> > > > > > > >  
> > > > > > > >  
> > > > > > > > module MystoreMigration
> > > > > > > >   class MystoreModel < ActiveRecord::Base
> > > > > > > >     self.abstract_class = true
> > > > > > > >     establish_connection(:mystore) unless Rails.env.test?
> > > > > > > >   end
> > > > > > > > end
> > > > > > > >  
> > > > > > > >  
> > > > > > > > All other model classes used by rake tasks inherit from the 
> > > > > > > > above model. In this case I'll have to mock all the DB calls 
> > > > > > > > related to this rake task to avoid it to establish mystore  
> > > > > > > > connection defined in `database.yml` and used by all the tasks 
> > > > > > > > models.
> > > > > > > >  
> > > > > > > >  
> > > > > > > >  
> > > > > > > > On Wednesday, 27 June 2018 14:16:22 UTC+2, Jon Rowe wrote:
> > > > > > > > > Hi Javix
> > > > > > > > >  
> > > > > > > > > RSpec itself has no database integration so it's certainly 
> > > > > > > > > possible, you'll need to either configure a connection 
> > > > > > > > > manually to talk through or use however you'd normally talk 
> > > > > > > > > to your other database.
> > > > > > > > >  
> > > > > > > > > If you’re using rspec-rails you’ll need to figure out how 
> > > > > > > > > Rails does it’s transactional testing for multiple databases, 
> > > > > > > > > but most 3rd party gems support “cleaning” multiple 
> > > > > > > > > databases, including DatabaseCleaner.
> > > > > > > > >  
> > > > > > > > > HTH
> > > > > > > > > Jon
> > > > > > > > >  
> > > > > > > > > On Wed, 27 Jun 2018 at 09:53, Javix <[email protected]> wrote:
> > > > > > > > > > I need to execute some rake tasks agains a database other 
> > > > > > > > > > than defined in database.yml, test group. Here is how 
> > > > > > > > > > database.yml looks like:
> > > > > > > > > >  
> > > > > > > > > > default: &default
> > > > > > > > > >   adapter: postgresql
> > > > > > > > > >   encoding: unicode
> > > > > > > > > >   user: postgres
> > > > > > > > > >   password:
> > > > > > > > > >   pool: 5
> > > > > > > > > >  
> > > > > > > > > >  
> > > > > > > > > > development:
> > > > > > > > > >   <<: *default
> > > > > > > > > >   database: decastore_development
> > > > > > > > > >   host: <%= ENV['DECASTORE_DATABASE_HOST'] %>
> > > > > > > > > >  
> > > > > > > > > >  
> > > > > > > > > > test:
> > > > > > > > > >   <<: *default
> > > > > > > > > >   database: decastore_test
> > > > > > > > > >   host: <%= ENV['DECASTORE_DATABASE_HOST'] %>
> > > > > > > > > >  
> > > > > > > > > >  
> > > > > > > > > > production:
> > > > > > > > > >   <<: *default
> > > > > > > > > >   host: <%= ENV['DECASTORE_DATABASE_HOST'] %>
> > > > > > > > > >   database: XXXX
> > > > > > > > > >   username: XXXXX
> > > > > > > > > >   password: <%= ENV['DECASTORE_DATABASE_PASSWORD'] %>
> > > > > > > > > >  
> > > > > > > > > >  
> > > > > > > > > > mystore:
> > > > > > > > > >   adapter: oracle_enhanced
> > > > > > > > > >   host: <%= ENV['mystore_db_host']%>
> > > > > > > > > >   port: <%= ENV['mystore_db_port']%>
> > > > > > > > > >   database: <%= ENV['mystore_db_name']%>
> > > > > > > > > >   username: <%= ENV['mystore_db_user']%>
> > > > > > > > > >   password: <%= ENV['mystore_db_password']%>
> > > > > > > > > >  
> > > > > > > > > >  
> > > > > > > > > > Is it possible to mix 2 database settings when running 
> > > > > > > > > > tests or I have to mock it everywhere ?
> > > > > > > > > > Thank you.
> > > > > > > > > >  
> > > > > > > > > >  
> > > > > > > > > > --  
> > > > > > > > > > You received this message because you are subscribed to the 
> > > > > > > > > > Google Groups "rspec" group.
> > > > > > > > > > To unsubscribe from this group and stop receiving emails 
> > > > > > > > > > from it, send an email to [email protected].
> > > > > > > > > > To post to this group, send email to [email protected].
> > > > > > > > > > To view this discussion on the web visit 
> > > > > > > > > > https://groups.google.com/d/msgid/rspec/f723fd63-26b2-4ff7-a9ff-b8a3a69567f3%40googlegroups.com
> > > > > > > > > >  
> > > > > > > > > > (https://groups.google.com/d/msgid/rspec/f723fd63-26b2-4ff7-a9ff-b8a3a69567f3%40googlegroups.com?utm_medium=email&utm_source=footer).
> > > > > > > > > > For more options, visit https://groups.google.com/d/optout.
> > > > > > > > --  
> > > > > > > > You received this message because you are subscribed to the 
> > > > > > > > Google Groups "rspec" group.
> > > > > > > > To unsubscribe from this group and stop receiving emails from 
> > > > > > > > it, send an email to [email protected].
> > > > > > > > To post to this group, send email to [email protected].
> > > > > > > > To view this discussion on the web visit 
> > > > > > > > https://groups.google.com/d/msgid/rspec/b5fa5aad-7a2a-4b53-875f-8bda30682c1d%40googlegroups.com
> > > > > > > >  
> > > > > > > > (https://groups.google.com/d/msgid/rspec/b5fa5aad-7a2a-4b53-875f-8bda30682c1d%40googlegroups.com?utm_medium=email&utm_source=footer).
> > > > > > > > For more options, visit https://groups.google.com/d/optout.
> > > > > > >  
> > > > > > > --  
> > > > > > > You received this message because you are subscribed to a topic 
> > > > > > > in the Google Groups "rspec" group.
> > > > > > > To unsubscribe from this topic, visit 
> > > > > > > https://groups.google.com/d/topic/rspec/sbRqzLR_Lug/unsubscribe.
> > > > > > > To unsubscribe from this group and all its topics, send an email 
> > > > > > > to [email protected].
> > > > > > > To post to this group, send email to [email protected].
> > > > > > > To view this discussion on the web visit 
> > > > > > > https://groups.google.com/d/msgid/rspec/74587C34A93D431CB66AE4B35D84EC2B%40jonrowe.co.uk
> > > > > > >  
> > > > > > > (https://groups.google.com/d/msgid/rspec/74587C34A93D431CB66AE4B35D84EC2B%40jonrowe.co.uk?utm_medium=email&utm_source=footer).
> > > > > > > For more options, visit https://groups.google.com/d/optout.
> > > > > > --  
> > > > > > You received this message because you are subscribed to the Google 
> > > > > > Groups "rspec" group.
> > > > > > To unsubscribe from this group and stop receiving emails from it, 
> > > > > > send an email to [email protected].
> > > > > > To post to this group, send email to [email protected].
> > > > > > To view this discussion on the web visit 
> > > > > > https://groups.google.com/d/msgid/rspec/CAJGQ%3DvbsA2GkxtTuUCqKSChAe8YRf-Yeafv68qgSFvQ5X8qCXw%40mail.gmail.com
> > > > > >  
> > > > > > (https://groups.google.com/d/msgid/rspec/CAJGQ%3DvbsA2GkxtTuUCqKSChAe8YRf-Yeafv68qgSFvQ5X8qCXw%40mail.gmail.com?utm_medium=email&utm_source=footer).
> > > > > > For more options, visit https://groups.google.com/d/optout.
> > > > >  
> > > --  
> > > You received this message because you are subscribed to the Google Groups 
> > > "rspec" group.
> > > To unsubscribe from this group and stop receiving emails from it, send an 
> > > email to [email protected] 
> > > (mailto:[email protected]).
> > > To post to this group, send email to [email protected] 
> > > (mailto:[email protected]).
> > > To view this discussion on the web visit 
> > > https://groups.google.com/d/msgid/rspec/4b796b81-d1ce-4109-827f-efccf085d743%40googlegroups.com
> > >  
> > > (https://groups.google.com/d/msgid/rspec/4b796b81-d1ce-4109-827f-efccf085d743%40googlegroups.com?utm_medium=email&utm_source=footer).
> > > For more options, visit https://groups.google.com/d/optout.
> >  
> > --  
> > You received this message because you are subscribed to a topic in the 
> > Google Groups "rspec" group.
> > To unsubscribe from this topic, visit 
> > https://groups.google.com/d/topic/rspec/sbRqzLR_Lug/unsubscribe.
> > To unsubscribe from this group and all its topics, send an email to 
> > [email protected] 
> > (mailto:[email protected]).
> > To post to this group, send email to [email protected] 
> > (mailto:[email protected]).
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msgid/rspec/2EDF7B26264448B5BE512774CA7A042F%40jonrowe.co.uk
> >  
> > (https://groups.google.com/d/msgid/rspec/2EDF7B26264448B5BE512774CA7A042F%40jonrowe.co.uk?utm_medium=email&utm_source=footer).
> > For more options, visit https://groups.google.com/d/optout.
> --  
> You received this message because you are subscribed to the Google Groups 
> "rspec" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> (mailto:[email protected]).
> To post to this group, send email to [email protected] 
> (mailto:[email protected]).
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rspec/CAJGQ%3DvY8y2mYyC44DTTm2qppoCzCw11LvDv7%3DdC6eVyRJG%3DeMw%40mail.gmail.com
>  
> (https://groups.google.com/d/msgid/rspec/CAJGQ%3DvY8y2mYyC44DTTm2qppoCzCw11LvDv7%3DdC6eVyRJG%3DeMw%40mail.gmail.com?utm_medium=email&utm_source=footer).
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/F28DAAF02A18451A85F4AC6D58D041D6%40jonrowe.co.uk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to