blob: 98b74e436acb248d9e2c1a9ecd5189b02fa8f620 [file] [log] [blame]
Sean Dague6dbc6da2013-05-08 17:49:46 -04001Tempest Guide to Scenario tests
Attila Fazekas23fdf1d2013-06-09 16:35:23 +02002===============================
Sean Dague6dbc6da2013-05-08 17:49:46 -04003
4
5What are these tests?
Attila Fazekas23fdf1d2013-06-09 16:35:23 +02006---------------------
Sean Dague6dbc6da2013-05-08 17:49:46 -04007
8Scenario tests are "through path" tests of OpenStack
9function. Complicated setups where one part might depend on completion
10of a previous part. They ideally involve the integration between
11multiple OpenStack services to exercise the touch points between them.
12
13An example would be: start with a blank environment, upload a glance
14image, deploy a vm from it, ssh to the guest, make changes, capture
15that vm's image back into glance as a snapshot, and launch a second vm
16from that snapshot.
17
18
19Why are these tests in tempest?
Attila Fazekas23fdf1d2013-06-09 16:35:23 +020020-------------------------------
Sean Dague6dbc6da2013-05-08 17:49:46 -040021This is one of tempests core purposes, testing the integration between
22projects.
23
24
25Scope of these tests
Attila Fazekas23fdf1d2013-06-09 16:35:23 +020026--------------------
Sean Dague6dbc6da2013-05-08 17:49:46 -040027Scenario tests should always test at least 2 services in
28interaction. They should use the official python client libraries for
29OpenStack, as they provide a more realistic approach in how people
30will interact with the services.
31
32TODO: once we have service tags, tests should be tagged with which
33services they exercise.
34
35
36Example of a good test
Attila Fazekas23fdf1d2013-06-09 16:35:23 +020037----------------------
Sean Dague6dbc6da2013-05-08 17:49:46 -040038While we are looking for interaction of 2 or more services, be
39specific in your interactions. A giant "this is my data center" smoke
40test is hard to debug when it goes wrong.
41
42A flow of interactions between glance and nova, like in the
43introduction, is a good example. Especially if it involves a repeated
44interaction when a resource is setup, modified, detached, and then
45reused later again.