)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"e822251f0f471a643cae6290794ffbda2fa6d265","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add simulation mode spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As an Application Developer I\u0027d like to execute my workflows without actual"},{"line_number":10,"context_line":"deployment and interaction with Murano Dashboard in order to verify my workflow"},{"line_number":11,"context_line":"before actual deployment by those increasing my application development"},{"line_number":12,"context_line":"speed."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ba3cc151_48e8b3e2","line":10,"range":{"start_line":10,"start_character":32,"end_line":10,"end_character":48},"updated":"2015-07-07 13:46:53.000000000","message":"murano dashboard","commit_id":"4796cbf38e3f0ede7ca03850592d075b4332593b"}],"specs/liberty/simulated-execution-mode-murano-engine.rst":[{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"663d21062160bcc7b66775b81a8f628436ed8cc3","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Verifying application packages should be simple and fast."},{"line_number":25,"context_line":"User don\u0027t have to re-upload package and add app to the environment  on every"},{"line_number":26,"context_line":"change."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Allow application author to validate his application using unit-tests"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_c7993721","line":25,"updated":"2015-06-22 08:51:58.000000000","message":"User doesn\u0027t have","commit_id":"4098e6c985fe91cf85d0c30aeec0f8430feea460"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"663d21062160bcc7b66775b81a8f628436ed8cc3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"* Those tests will be put to the application package to allow anyone to test"},{"line_number":31,"context_line":"  this app at any time"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"* Tests will be look like regular unit tests. Testing framework, witch will"},{"line_number":34,"context_line":"  run unit-tests will support commands, that will unit common actions and make"},{"line_number":35,"context_line":"  test deployment run easier. Also, test writer may run deployment several"},{"line_number":36,"context_line":"  times, examine and compare results with different parameters"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_0755df1b","line":33,"updated":"2015-06-22 08:51:58.000000000","message":"Tests will look","commit_id":"4098e6c985fe91cf85d0c30aeec0f8430feea460"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"663d21062160bcc7b66775b81a8f628436ed8cc3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  this app at any time"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"* Tests will be look like regular unit tests. Testing framework, witch will"},{"line_number":34,"context_line":"  run unit-tests will support commands, that will unit common actions and make"},{"line_number":35,"context_line":"  test deployment run easier. Also, test writer may run deployment several"},{"line_number":36,"context_line":"  times, examine and compare results with different parameters"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_02314dec","line":34,"updated":"2015-06-22 08:51:58.000000000","message":"\"that will unit common actions\" - what \"unit\" stands here for? Could you rephrase this a bit?","commit_id":"4098e6c985fe91cf85d0c30aeec0f8430feea460"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"663d21062160bcc7b66775b81a8f628436ed8cc3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Tests should be able to produce complete object model with some parameters"},{"line_number":39,"context_line":"  of deployment:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * fake return values: you can mock agent execution and return fake value for"},{"line_number":42,"context_line":"    particular EPs"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  * environment attributes (such as tokens) (or overwriting values, defined in"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_226811ba","line":41,"updated":"2015-06-22 08:51:58.000000000","message":"Mention heat interaction as well.\n\nAlso, \"one can mock\" instead of \"you can mock\"","commit_id":"4098e6c985fe91cf85d0c30aeec0f8430feea460"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"663d21062160bcc7b66775b81a8f628436ed8cc3","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Cons:"},{"line_number":54,"context_line":"Impossible to verify deployments, where execution plan returns a value, which is used in future app workflow"},{"line_number":55,"context_line":"Compare results of several deployments would be inconvenient"},{"line_number":56,"context_line":"Real VM’s can’t be"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Data model impact"},{"line_number":59,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_4293d5a3","line":56,"updated":"2015-06-22 08:51:58.000000000","message":"Can\u0027t be.. what?","commit_id":"4098e6c985fe91cf85d0c30aeec0f8430feea460"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"663d21062160bcc7b66775b81a8f628436ed8cc3","unresolved":false,"context_lines":[{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_a20421c6","line":64,"updated":"2015-06-22 08:51:58.000000000","message":"I believe that there should be a way to run tests when the package is being uploaded to a catalog - and re-run them manually. This will modify the API slightly by adding some extra calls and modify existing ones.","commit_id":"4098e6c985fe91cf85d0c30aeec0f8430feea460"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"123894183c337ae65346fde7c920591403e4528e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_8b900750","line":64,"in_reply_to":"fa32b979_a20421c6","updated":"2015-06-25 06:40:32.000000000","message":"there will be separate engine entry point and engine will load packages from dir without calling any api","commit_id":"4098e6c985fe91cf85d0c30aeec0f8430feea460"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"d7a4dc6c59765202491076adbcac61d8e3c22ab4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"As an Application Developer I\u0027d like to execute my workflows without actual"},{"line_number":17,"context_line":"deployment and interaction with Murano Dashboard in order to verify my workflow"},{"line_number":18,"context_line":"before actual test deployment by those increasing my application development"},{"line_number":19,"context_line":"speed."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_3f56202b","line":16,"updated":"2015-06-25 23:32:06.000000000","message":"nit: this should be your commit message \u003d)","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"d7a4dc6c59765202491076adbcac61d8e3c22ab4","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"As an Application Developer I\u0027d like to execute my workflows without actual"},{"line_number":17,"context_line":"deployment and interaction with Murano Dashboard in order to verify my workflow"},{"line_number":18,"context_line":"before actual test deployment by those increasing my application development"},{"line_number":19,"context_line":"speed."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_bf38f0ef","line":18,"updated":"2015-06-25 23:32:06.000000000","message":"actual test deployment -\u003e actual deployment","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"d7a4dc6c59765202491076adbcac61d8e3c22ab4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Verifying application packages should be simple and fast."},{"line_number":25,"context_line":"User doesn\u0027t have to re-upload package and add app to the environment  on every"},{"line_number":26,"context_line":"change."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* Allow application author to validate his application using unit-tests"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_5f2a0492","line":25,"updated":"2015-06-25 23:32:06.000000000","message":"nit: extra whitespace after environment.","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"d7a4dc6c59765202491076adbcac61d8e3c22ab4","unresolved":false,"context_lines":[{"line_number":98,"context_line":"None"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Versioning impact"},{"line_number":101,"context_line":"-------------------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Tests will be placed to a package, so manifest version need to be updated."},{"line_number":104,"context_line":"But before we decided to modify package itself, there will be no impact on"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_82110f56","line":101,"updated":"2015-06-25 23:32:06.000000000","message":"nit: too long underline.","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"d7a4dc6c59765202491076adbcac61d8e3c22ab4","unresolved":false,"context_lines":[{"line_number":107,"context_line":"Other end user impact"},{"line_number":108,"context_line":"---------------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Aside from the API, are there other ways a user will interact with this"},{"line_number":111,"context_line":"feature?"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* Does this change have an impact on python-muranoclient? What does the user"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_421b0774","line":110,"updated":"2015-06-25 23:32:06.000000000","message":"pls remove generic text here.\n\nAlso should we add a python-muranoclient command, that runs tests for a specific package? I feel that we should, what do you think?","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"590a67984bf0b482f7b210e078e12c55b7d08f3e","unresolved":false,"context_lines":[{"line_number":107,"context_line":"Other end user impact"},{"line_number":108,"context_line":"---------------------"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Aside from the API, are there other ways a user will interact with this"},{"line_number":111,"context_line":"feature?"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* Does this change have an impact on python-muranoclient? What does the user"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_df28d7e4","line":110,"in_reply_to":"fa32b979_421b0774","updated":"2015-07-01 12:54:14.000000000","message":"May be, but modifying manifest and adding tests to a package belongs to a separate spec","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"d7a4dc6c59765202491076adbcac61d8e3c22ab4","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Murano-dashboard / Horizon impact"},{"line_number":127,"context_line":"---------------------------------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Implementation"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_4249c75f","line":129,"updated":"2015-06-25 23:32:06.000000000","message":"Shall we give ability to run tests of a specific package from Horizon? or only CLI? It can be noted here.","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":7549,"name":"Ekaterina Chernova","email":"katyafervent@yandex.ru","username":"efedorova"},"change_message_id":"590a67984bf0b482f7b210e078e12c55b7d08f3e","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Murano-dashboard / Horizon impact"},{"line_number":127,"context_line":"---------------------------------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"None"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Implementation"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_eae95be7","line":129,"in_reply_to":"fa32b979_4249c75f","updated":"2015-07-01 12:54:14.000000000","message":"see previous comment","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"d7a4dc6c59765202491076adbcac61d8e3c22ab4","unresolved":false,"context_lines":[{"line_number":141,"context_line":"----------"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"#. Add ‘simulation’ mode (new entry-point) to Murano Engine, where"},{"line_number":144,"context_line":"packages would be upload from the provided path there would be no"},{"line_number":145,"context_line":"interconnection with RabbitMQ"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"#. Make changes to the class-loader, located in engine, to not use API"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_2277e3a0","line":144,"updated":"2015-06-25 23:32:06.000000000","message":"upload-\u003euploaded","commit_id":"80506b89d139f72708d58858355fbab4bb2bb0e3"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"b973f7f6ac40d390b0609fd259a0c4f5f6eaecb0","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  * environment attributes (such as tokens) (or overwriting values, defined in"},{"line_number":47,"context_line":"    config)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  * heat and murano-agent will be will be mocked by default."},{"line_number":50,"context_line":"    Later support on picking when mock should be disabled will be added."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Test-case prototype will be looked like that"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_9960f602","line":49,"updated":"2015-07-02 11:29:37.000000000","message":"I still do not understand this statement. There is no such thing as \"default mock\" neither for heat nor from agent.","commit_id":"97126d47ec79acaae2aef0de313be59ac1ccb5cd"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"9b9de998266b1b42c2a39cac2e1ab1738293aa63","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  * environment attributes (such as tokens) (or overwriting values, defined in"},{"line_number":47,"context_line":"    config)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  * heat and murano-agent will be will be mocked by default."},{"line_number":50,"context_line":"    Later support on picking when mock should be disabled will be added."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Test-case prototype will be looked like that"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_c8c63116","line":49,"in_reply_to":"ba3cc151_9960f602","updated":"2015-07-06 17:04:10.000000000","message":"Probably this means, that they would be something like MagickMock? And as far as I understand this means that heat/murano-agent integrations would be mocked _by_default_ which means, that if you want real murano-agent — you\u0027ll have to unmock it somehow.","commit_id":"97126d47ec79acaae2aef0de313be59ac1ccb5cd"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"56d4b5aec312b3f4153afcf34d7e902b2baa756f","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  * environment attributes (such as tokens) (or overwriting values, defined in"},{"line_number":47,"context_line":"    config)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  * heat and murano-agent will be will be mocked by default."},{"line_number":50,"context_line":"    Later support on picking when mock should be disabled will be added."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Test-case prototype will be looked like that"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_1e4bd35a","line":49,"in_reply_to":"ba3cc151_c8c63116","updated":"2015-07-07 08:30:38.000000000","message":"Kirill, there is no sense in mocking heat/murano agent by default, as there are no sensible default outputs for heat stack output: for example the instance deployment expects the ip address to be returned and uses this IP for further processing. Same goes for Agent.\n\nInstead of mocking heat / agent etc I would prefer to mock the methods of system classes which include various kinds of external communications. For example, Instance.deploy() may be mocked completely.\n\nTechnically, I\u0027d prefer the Test to mock everything which is not part of that application it test: including other applications, system resources, various API clients etc.\n \nAlso, the mock may be created at a class level (i.e. mock some method of all the instances of a class, e.g. res:Instance.deploy) or at an object level (i.e. mock some method of the particular instance of a class, e.g $.instance.deploy). This will give you the desired level of control.\n\nRegarding the unmock: the function executed as a mock will get a pointer to the original mocked unction, so it will be able to execute it if needed.\nThe actual design of mocking framework depends on the improvements to yaql: it needs to get some functional pointers.","commit_id":"97126d47ec79acaae2aef0de313be59ac1ccb5cd"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"b973f7f6ac40d390b0609fd259a0c4f5f6eaecb0","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  * heat and murano-agent will be will be mocked by default."},{"line_number":50,"context_line":"    Later support on picking when mock should be disabled will be added."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Test-case prototype will be looked like that"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"::"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_5956ee2a","line":52,"updated":"2015-07-02 11:29:37.000000000","message":"will look","commit_id":"97126d47ec79acaae2aef0de313be59ac1ccb5cd"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"b973f7f6ac40d390b0609fd259a0c4f5f6eaecb0","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":" Extends: io.murano.tests.TestCase"},{"line_number":57,"context_line":" Properties:"},{"line_number":58,"context_line":" $.package:"},{"line_number":59,"context_line":" Contract: io.murano.tests.package"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":" Methods:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_992796c9","line":58,"updated":"2015-07-02 11:29:37.000000000","message":"\"package\" is a bad word here: we are testing not packages, but muranoPL classes from the current package.","commit_id":"97126d47ec79acaae2aef0de313be59ac1ccb5cd"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"b973f7f6ac40d390b0609fd259a0c4f5f6eaecb0","unresolved":false,"context_lines":[{"line_number":56,"context_line":" Extends: io.murano.tests.TestCase"},{"line_number":57,"context_line":" Properties:"},{"line_number":58,"context_line":" $.package:"},{"line_number":59,"context_line":" Contract: io.murano.tests.package"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":" Methods:"},{"line_number":62,"context_line":"   initialize:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_14010b05","line":59,"updated":"2015-07-02 11:29:37.000000000","message":"This contract is invalid and meaningless. One does not pass classes (or packages) to the test - test has access to all the classes in its packages by regular namespace semantics.","commit_id":"97126d47ec79acaae2aef0de313be59ac1ccb5cd"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"b973f7f6ac40d390b0609fd259a0c4f5f6eaecb0","unresolved":false,"context_lines":[{"line_number":61,"context_line":" Methods:"},{"line_number":62,"context_line":"   initialize:"},{"line_number":63,"context_line":"      Body:"},{"line_number":64,"context_line":"        - $.test_package: $.load_from_dir(path)"},{"line_number":65,"context_line":"          # Default path should be set to load from"},{"line_number":66,"context_line":"   test_single_deployments:"},{"line_number":67,"context_line":"      Body:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_d4a2c3fb","line":64,"updated":"2015-07-02 11:29:37.000000000","message":"This is meanigless as well. \nYou cannot load the package here: it is already loaded if this test is being executed. \nThe syntax to re-configure the class loaded may be added, but as an optional tool.","commit_id":"97126d47ec79acaae2aef0de313be59ac1ccb5cd"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"f46e976529122c39e63690ef56d8aded388e9090","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"As an Application Developer I\u0027d like to execute my workflows without actual"},{"line_number":17,"context_line":"deployment and interaction with Murano Dashboard in order to verify my workflow"},{"line_number":18,"context_line":"before actual deployment by those increasing my application development"},{"line_number":19,"context_line":"speed."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba3cc151_08562bd2","line":17,"range":{"start_line":17,"start_character":32,"end_line":17,"end_character":48},"updated":"2015-07-07 13:46:26.000000000","message":"murano dasboard","commit_id":"4796cbf38e3f0ede7ca03850592d075b4332593b"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"2bd8198c08f17589c5f4a0c834d98b24b07552ad","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  of deployment:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"  * fake return values: one can mock agent execution and return fake value for"},{"line_number":44,"context_line":"    particular EPs;"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  * environment attributes (such as tokens) (or overwriting values, defined in"},{"line_number":47,"context_line":"    config);"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba3cc151_3b91f452","line":44,"updated":"2015-07-07 14:54:10.000000000","message":"What\u0027s the difference between this point and \"mock the methods of system class...\" below? \nLooks like they duplicate each other.","commit_id":"4796cbf38e3f0ede7ca03850592d075b4332593b"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"2bd8198c08f17589c5f4a0c834d98b24b07552ad","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    clients and also be mocked."},{"line_number":52,"context_line":"    There would be separate specification for mocking."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Test-case prototype will look like that"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"::"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba3cc151_7b853c05","line":54,"updated":"2015-07-07 14:54:10.000000000","message":"Test-case may look like this:","commit_id":"4796cbf38e3f0ede7ca03850592d075b4332593b"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"2bd8198c08f17589c5f4a0c834d98b24b07552ad","unresolved":false,"context_lines":[{"line_number":169,"context_line":"interconnection with RabbitMQ"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"#. Make changes to the class-loader, located in engine, to not use API."},{"line_number":172,"context_line":"   Separate spec is provided for this change."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"#. Implement testing framework, written in MuranoPL that will include the"},{"line_number":175,"context_line":"   classes, described below. The structure would be taken from python unittest"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ba3cc151_bb92e449","line":172,"updated":"2015-07-07 14:54:10.000000000","message":"Add a link to that spec, please.","commit_id":"4796cbf38e3f0ede7ca03850592d075b4332593b"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"f82568d8cb2f1c612e28974065eefceade82746d","unresolved":false,"context_lines":[{"line_number":167,"context_line":"interconnection with RabbitMQ"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"#. Make changes to the class-loader, located in engine, to not use API."},{"line_number":170,"context_line":"   Separate spec is provided for this change."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"#. Implement testing framework, written in MuranoPL that will include the"},{"line_number":173,"context_line":"   classes, described below. The structure would be taken from python unittest"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ba3cc151_c64ee8c0","line":170,"updated":"2015-07-07 17:09:23.000000000","message":"For sure, do we have this spec? it\u0027s name can be specified, for example.","commit_id":"9aa1fcfa2ce01f20439536fd67b9b0f1b84fe06c"},{"author":{"_account_id":14265,"name":"Filip Blaha","email":"filip.blaha@hpe.com","username":"fblaha"},"change_message_id":"495da2ee846aece618ac295a085e15a5df9a3085","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        Body:"},{"line_number":82,"context_line":"            - $.env: $.createEnvironment($.appJson)   # creates an instance of std:Environment"},{"line_number":83,"context_line":"            - $.myApp: $.env.applications.where($.name\u003d\u0027my-foo-obj\u0027).first()"},{"line_number":84,"context_line":"            - mock($.myApp.instance, \"deploy\", \"mockInstanceDeploy\", $this)"},{"line_number":85,"context_line":"            - mock(res:Instance, deploy, \"mockInstanceDeploy\", $this)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"ba3cc151_c594578c","line":84,"updated":"2015-07-08 21:48:23.000000000","message":"I am little confused by these 2 mock methods call. Generally I understand that we want to mock deploy method. Please explain what is expected from first and second mock call?","commit_id":"b0cbbbb1583184f3c6ea19241126fe8c58867b4f"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"511868a5740521be7862b88b85be70850a43cfcd","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        Body:"},{"line_number":82,"context_line":"            - $.env: $.createEnvironment($.appJson)   # creates an instance of std:Environment"},{"line_number":83,"context_line":"            - $.myApp: $.env.applications.where($.name\u003d\u0027my-foo-obj\u0027).first()"},{"line_number":84,"context_line":"            - mock($.myApp.instance, \"deploy\", \"mockInstanceDeploy\", $this)"},{"line_number":85,"context_line":"            - mock(res:Instance, deploy, \"mockInstanceDeploy\", $this)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"ba3cc151_cf2777c8","line":84,"in_reply_to":"ba3cc151_c594578c","updated":"2015-07-09 10:27:41.000000000","message":"Filip, the syntax of this particular calls may be changed, as the mocking framework requires a different spec and relies on some advanced functionality we want to introduce in yaql (i.e. we need some kind of functional pointers). It has to wait till our transition to yaql 1.0 is finished and the final release of yaql 1.0.0 is out.\n\nIn general, the idea is that the first call mocks the deploy method of the particular instance object, while the second one mocks the same method on the class level, i.e. the deploys of all the instances in the environment are mocked, not only the one belonging to the particular app.","commit_id":"b0cbbbb1583184f3c6ea19241126fe8c58867b4f"},{"author":{"_account_id":14265,"name":"Filip Blaha","email":"filip.blaha@hpe.com","username":"fblaha"},"change_message_id":"94bdecd73ec3710cf80ec118f3a3d014ef800932","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        Body:"},{"line_number":82,"context_line":"            - $.env: $.createEnvironment($.appJson)   # creates an instance of std:Environment"},{"line_number":83,"context_line":"            - $.myApp: $.env.applications.where($.name\u003d\u0027my-foo-obj\u0027).first()"},{"line_number":84,"context_line":"            - mock($.myApp.instance, \"deploy\", \"mockInstanceDeploy\", $this)"},{"line_number":85,"context_line":"            - mock(res:Instance, deploy, \"mockInstanceDeploy\", $this)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"ba3cc151_04c78196","line":84,"in_reply_to":"ba3cc151_cf2777c8","updated":"2015-07-09 10:49:29.000000000","message":"thanks for explanation. I understand that these details are out of scope this spec.","commit_id":"b0cbbbb1583184f3c6ea19241126fe8c58867b4f"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"6145da176052c4ec75378b9bf48060cd957fcfc4","unresolved":false,"context_lines":[{"line_number":167,"context_line":"interconnection with RabbitMQ"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"#. Make changes to the class-loader, located in engine, to not use API."},{"line_number":170,"context_line":"   Separate spec is provided for this change (https://review.openstack.org/#/c/198745/)."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"#. Implement testing framework, written in MuranoPL that will include the"},{"line_number":173,"context_line":"   classes, described below. The structure would be taken from python unittest"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ba3cc151_a13c8793","line":170,"updated":"2015-07-09 10:29:51.000000000","message":"nit: it\u0027s better to put references at the bottom (there is a \"references\" section right for them) and put a regular [1] marks in text","commit_id":"b0cbbbb1583184f3c6ea19241126fe8c58867b4f"}]}
