[openstack-dev] [tricircle] Using in-memory database for unit tests

joehuang joehuang at huawei.com
Tue Mar 22 02:47:21 UTC 2016


Hi, Shinobu,

See inline comments

Best Regards
Chaoyi Huang ( Joe Huang )


-----Original Message-----
From: Shinobu Kinjo [mailto:shinobu.kj at gmail.com] 
Sent: Tuesday, March 22, 2016 10:09 AM
To: OpenStack Development Mailing List (not for usage questions)
Cc: Liuhaixia; zhangbinsjtu; huangzhipeng; newypei; caizhiyuan (A)
Subject: Re: [openstack-dev] [tricircle] Using in-memory database for unit tests

On Tue, Mar 22, 2016 at 10:22 AM, joehuang <joehuang at huawei.com> wrote:
> Hello, Shinobu,
>
> Yes, as what you described here, the "initialize" in "core.py" is used for unit/function test only. For system integration test( for example, tempest ), it would be better to use mysql like DB, this is done by the configuration in DB part.

Thank you for your thought.

>
> From my point of view, the tricircle DB part could be enhanced in the 
> DB model and migration scripts. Currently unit test use DB model to 
> initialize the data base, but not using the migration scripts,

I'm assuming the migration scripts are in "tricircle/db". Is it right?

What is the DB model?
Why do we need 2-way-methods at the moment?

[joehuang] : the migration script is in https://github.com/openstack/tricircle/tree/master/tricircle/db/migrate_repo/versions, There are scripts for table definition. DB models is in https://github.com/openstack/tricircle/blob/master/tricircle/db/models.py, this is scripts using class to access tables.

> so the migration scripts can only be tested when using devstack for integration test. It would better to using migration script to instantiate the DB, and tested in the unit test too.

If I understand you correctly, we are moving forward to using the migration scripts for both unit and integration tests.

[joehuang] Correct. Quite appreciate if you can contribute.

Cheers,
Shinobu

>
> (Also move the discussion to the openstack-dev mail-list)
>
> Best Regards
> Chaoyi Huang ( joehuang )
>
> -----Original Message-----
> From: Shinobu Kinjo [mailto:skinjo at redhat.com]
> Sent: Tuesday, March 22, 2016 7:43 AM
> To: joehuang; khayam.gondal; zhangbinsjtu; shipengfei92; newypei; 
> Liuhaixia; caizhiyuan (A); huangzhipeng
> Subject: Using in-memory database for unit tests
>
> Hello,
>
> In "initialize" method defined in "core.py", we're using *in-memory* strategy making use of sqlite. AFAIK we are using this solution for only testing purpose. Unit tests using this solution should be fine for small scale environment. But it's not good enough even it's for testing.
>
> What do you think?
> Any thought, suggestion would be appreciated.
>
> [1] 
> https://github.com/openstack/tricircle/blob/master/tricircle/db/core.p
> y#L124-L127
>
> Cheers,
> Shinobu
> ______________________________________________________________________
> ____ OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: 
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



--
Email:
shinobu at linux.com
GitHub:
shinobu-x
Blog:
Life with Distributed Computational System based on OpenSource

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list