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 >> >> 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 >> >> 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]. 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/4b796b81-d1ce-4109-827f-efccf085d743%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
