)]}'
{"specs/tempest/tempest-stable-fixtures.rst":[{"author":{"_account_id":21264,"name":"Hasan","email":"htuncer@us.ibm.com","username":"htuncer"},"change_message_id":"d08ca523d3abc11f6ea3f3d78f6afccb9e776c84","unresolved":false,"context_lines":[{"line_number":13,"context_line":"https://blueprints.launchpad.net/tempest/+spec/tempest-stable-fixtures"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implement fixtures to provide test classes in Tempest and in Tempest plugins"},{"line_number":16,"context_line":"with test class shared resources."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ac969e8_0f3c8d2e","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":32},"updated":"2016-08-12 22:52:34.000000000","message":"It\u0027s not clear what you are referring to with \"test class shared resources\". You may want to write it as another sentence.","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":19587,"name":"Joshua White","email":"joshua.l.white@intel.com","username":"jwhite"},"change_message_id":"43d6a02eb43fe53f4ff1935e69aed353e752486b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"classes. Examples are test credentials, client managers, validation resources,"},{"line_number":25,"context_line":"network resources."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"This approach aims to maximise code re-use, but it makes code hard to read"},{"line_number":28,"context_line":"and debug, since looking at a test it\u0027s not obvious at all which clients and"},{"line_number":29,"context_line":"projects are being used, and which resources have been created and are"},{"line_number":30,"context_line":"available to tests."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_48acc9ec","line":27,"range":{"start_line":27,"start_character":22,"end_line":27,"end_character":30},"updated":"2016-08-08 04:25:51.000000000","message":"s/maximise/maximize","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":19587,"name":"Joshua White","email":"joshua.l.white@intel.com","username":"jwhite"},"change_message_id":"43d6a02eb43fe53f4ff1935e69aed353e752486b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"projects are being used, and which resources have been created and are"},{"line_number":30,"context_line":"available to tests."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The following example shows a deep class hierarchy with serveral resources"},{"line_number":33,"context_line":"hidden at different levels of inheritance::"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_e883fd53","line":32,"range":{"start_line":32,"start_character":56,"end_line":32,"end_character":64},"updated":"2016-08-08 04:25:51.000000000","message":"s/serveral/several","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":21264,"name":"Hasan","email":"htuncer@us.ibm.com","username":"htuncer"},"change_message_id":"d08ca523d3abc11f6ea3f3d78f6afccb9e776c84","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Implement fixtures for the various resource providers: credentials, clients,"},{"line_number":70,"context_line":"networks, validation resources, other cloud resources. Those fixtures shall"},{"line_number":71,"context_line":"live the tempest.lib namespace and thus be available to plugins."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Implement helpers in the tempest namespace that will initialise the fixtures"},{"line_number":74,"context_line":"based on tempest configuration (where relevant)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ac969e8_0fd80def","line":71,"range":{"start_line":71,"start_character":5,"end_line":71,"end_character":8},"updated":"2016-08-12 22:52:34.000000000","message":"replace \u0027the\u0027 with \u0027in\u0027","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":19587,"name":"Joshua White","email":"joshua.l.white@intel.com","username":"jwhite"},"change_message_id":"43d6a02eb43fe53f4ff1935e69aed353e752486b","unresolved":false,"context_lines":[{"line_number":70,"context_line":"networks, validation resources, other cloud resources. Those fixtures shall"},{"line_number":71,"context_line":"live the tempest.lib namespace and thus be available to plugins."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Implement helpers in the tempest namespace that will initialise the fixtures"},{"line_number":74,"context_line":"based on tempest configuration (where relevant)."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Example for credentials and networks (actual code may change)::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_e8eadd0d","line":73,"range":{"start_line":73,"start_character":53,"end_line":73,"end_character":63},"updated":"2016-08-08 04:25:51.000000000","message":"s/initialise/initialize","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"4b60596d81e81ea456e13e54a2310ced42a04317","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Implement helpers in the tempest namespace that will initialise the fixtures"},{"line_number":74,"context_line":"based on tempest configuration (where relevant)."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Example for credentials and networks (actual code may change)::"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # In TestBaseClass setupClass (plugin)"},{"line_number":79,"context_line":"    self.credential_provider \u003d self.useFixture("}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_f7af7f7a","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":7},"updated":"2016-08-19 17:48:56.000000000","message":"Probably add helper example/ structure, how it would handle fixtures at the class level instead of test level -\u003e Will it use the fixture.reset?","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"4b60596d81e81ea456e13e54a2310ced42a04317","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        fixtures.NetworkProvider(type\u003d\u0027dynamic\u0027,"},{"line_number":84,"context_line":"                                 clients\u003dadmin_service_clients, ...)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    # In TestBaseClass setupClass (tempest)"},{"line_number":87,"context_line":"    # Params are passed based on configuration"},{"line_number":88,"context_line":"    self.credential_provider \u003d helpers.get_credential_provider()"},{"line_number":89,"context_line":"    # Params are passed based on configuration"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ac06dbe_883a1ccc","line":86,"range":{"start_line":86,"start_character":9,"end_line":86,"end_character":22},"updated":"2016-08-19 17:48:56.000000000","message":"s/TestBaseClass/BaseTestCase/g","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"4b60596d81e81ea456e13e54a2310ced42a04317","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    # Params are passed based on configuration"},{"line_number":90,"context_line":"    self.credential_provider \u003d helpers.get_network_provider()"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    # In TestClass setupClass"},{"line_number":93,"context_line":"    primay_creds \u003d self.credential_provider.get_primary_creds()"},{"line_number":94,"context_line":"    primary_clients \u003d clients.Manager(primary_creds)"},{"line_number":95,"context_line":"    primary_network \u003d self.network_provider.get_network("}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ac06dbe_e878f091","line":92,"range":{"start_line":92,"start_character":4,"end_line":92,"end_character":29},"updated":"2016-08-19 17:48:56.000000000","message":"So, will setupClass method allowed at the test level now?","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"4b60596d81e81ea456e13e54a2310ced42a04317","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":".."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Example for"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Alternatives"},{"line_number":103,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ac06dbe_83af9fe2","line":100,"range":{"start_line":100,"start_character":0,"end_line":100,"end_character":11},"updated":"2016-08-19 17:48:56.000000000","message":"Even when it looks more clear (having a explicit declaration on the test case) - Introducing fixtures looks like a new layer of custom behavior, what are the paint points or risks of this approach?","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b786569bb7f774ebcebb2304bbb44a4e36c15ba5","unresolved":false,"context_lines":[{"line_number":121,"context_line":"-----------"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Primary assignee:"},{"line_number":124,"context_line":"  andrea-frittoli (andrea.frittoli@hpe.com / andreaf)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Contributions are welcome, since the work should be easy to split up in"},{"line_number":127,"context_line":"multiple parallel tasks."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a74a57a_4034c448","line":124,"updated":"2016-11-29 07:46:53.000000000","message":"outdated email? :)","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":21264,"name":"Hasan","email":"htuncer@us.ibm.com","username":"htuncer"},"change_message_id":"d08ca523d3abc11f6ea3f3d78f6afccb9e776c84","unresolved":false,"context_lines":[{"line_number":139,"context_line":"be easily implemented in parallel:"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"* Network resources separated out credential providers"},{"line_number":142,"context_line":"* Credentials providers (dynamic, pre-provisioned)"},{"line_number":143,"context_line":"* Validation resources"},{"line_number":144,"context_line":"* Generic resources: a common mechanism to maintain a list of class level"},{"line_number":145,"context_line":"  resources and clean them up"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ac969e8_ef6c910a","line":142,"range":{"start_line":142,"start_character":12,"end_line":142,"end_character":13},"updated":"2016-08-12 22:52:34.000000000","message":"either remove \u0027s\u0027 here or put it in the line above.","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"},{"author":{"_account_id":21264,"name":"Hasan","email":"htuncer@us.ibm.com","username":"htuncer"},"change_message_id":"d08ca523d3abc11f6ea3f3d78f6afccb9e776c84","unresolved":false,"context_lines":[{"line_number":146,"context_line":"* Clients: setup client aliases for a service / project combination"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Changing all tests and flattening the class hierarchy by using the new"},{"line_number":149,"context_line":"fixtures is not in scope of this work."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ac969e8_6faa611b","line":149,"range":{"start_line":149,"start_character":9,"end_line":149,"end_character":11},"updated":"2016-08-12 22:52:34.000000000","message":"are","commit_id":"6f04c78589baa2e0df9d58107f950843217a8e54"}]}
