)]}'
{"ironic_ui/static/dashboard/admin/ironic/base-node/base-node.controller.spec.js":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9965fd6f82bef7e29ab8c913d34be4e7f5d3f8e9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright 2015 Hewlett Packard Enterprise Development Company LP"},{"line_number":3,"context_line":" * Copyright 2016 Cray Inc."},{"line_number":4,"context_line":" *"},{"line_number":5,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\");"}],"source_content_type":"text/javascript","patch_set":6,"id":"df140735_f5f6068f","line":2,"updated":"2017-06-06 13:14:34.000000000","message":"Is this just a copy of an existing file?","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"24731d51c83b8f0cfc708f7741ac6584447619f9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright 2015 Hewlett Packard Enterprise Development Company LP"},{"line_number":3,"context_line":" * Copyright 2016 Cray Inc."},{"line_number":4,"context_line":" *"},{"line_number":5,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\");"}],"source_content_type":"text/javascript","patch_set":6,"id":"df140735_c846b7c1","line":2,"in_reply_to":"df140735_f5f6068f","updated":"2017-06-07 14:16:23.000000000","message":"Yes. I will remove the HPE copyright.","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9965fd6f82bef7e29ab8c913d34be4e7f5d3f8e9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        $injector.get(\u0027horizon.dashboard.admin.ironic.backend-mock.service\u0027);"},{"line_number":46,"context_line":"      ironicBackendMockService.init();"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"      ironicAPI \u003d"},{"line_number":49,"context_line":"        $injector.get(\u0027horizon.app.core.openstack-service-api.ironic\u0027);"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"      var controller \u003d $injector.get(\u0027$controller\u0027);"},{"line_number":52,"context_line":"      controller(\u0027BaseNodeController\u0027, {ctrl: ctrl});"}],"source_content_type":"text/javascript","patch_set":6,"id":"df140735_50ca60a0","line":49,"range":{"start_line":48,"start_character":0,"end_line":49,"end_character":71},"updated":"2017-06-06 13:14:34.000000000","message":"Looks like the listing is not exactly pleased with a var being assigned and never used.... :\\","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"24731d51c83b8f0cfc708f7741ac6584447619f9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        $injector.get(\u0027horizon.dashboard.admin.ironic.backend-mock.service\u0027);"},{"line_number":46,"context_line":"      ironicBackendMockService.init();"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"      ironicAPI \u003d"},{"line_number":49,"context_line":"        $injector.get(\u0027horizon.app.core.openstack-service-api.ironic\u0027);"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"      var controller \u003d $injector.get(\u0027$controller\u0027);"},{"line_number":52,"context_line":"      controller(\u0027BaseNodeController\u0027, {ctrl: ctrl});"}],"source_content_type":"text/javascript","patch_set":6,"id":"df140735_480ce793","line":49,"range":{"start_line":48,"start_character":0,"end_line":49,"end_character":71},"in_reply_to":"df140735_50ca60a0","updated":"2017-06-07 14:16:23.000000000","message":"I will remove it. Can always add back if needed.","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"69c3fdf88c06234b724694a5c0d939b50ac8cb75","unresolved":false,"context_lines":[{"line_number":60,"context_line":"      expect(ctrl).toBeDefined();"},{"line_number":61,"context_line":"    });"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    it(\u0027base construction\u0027, function () {"},{"line_number":64,"context_line":"      expect(ctrl.validHostNameRegex).toBeDefined();"},{"line_number":65,"context_line":"      expect(ctrl.drivers).toBeNull();"},{"line_number":66,"context_line":"      expect(ctrl.images).toBeNull();"}],"source_content_type":"text/javascript","patch_set":6,"id":"bf091321_62134768","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":25},"updated":"2017-06-08 01:06:54.000000000","message":"Should we also check for loadDriverProperties to be set to false initially?","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cb71de264cf3ff3e1cb1c1a5cbe0bc258d664acb","unresolved":false,"context_lines":[{"line_number":60,"context_line":"      expect(ctrl).toBeDefined();"},{"line_number":61,"context_line":"    });"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    it(\u0027base construction\u0027, function () {"},{"line_number":64,"context_line":"      expect(ctrl.validHostNameRegex).toBeDefined();"},{"line_number":65,"context_line":"      expect(ctrl.drivers).toBeNull();"},{"line_number":66,"context_line":"      expect(ctrl.images).toBeNull();"}],"source_content_type":"text/javascript","patch_set":6,"id":"bf091321_6721074e","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":25},"in_reply_to":"bf091321_62134768","updated":"2017-06-08 11:18:44.000000000","message":"Well, I think to be defined.. I think.","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"3899f6eea528513f5cc968da4e8721921875fe64","unresolved":false,"context_lines":[{"line_number":60,"context_line":"      expect(ctrl).toBeDefined();"},{"line_number":61,"context_line":"    });"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    it(\u0027base construction\u0027, function () {"},{"line_number":64,"context_line":"      expect(ctrl.validHostNameRegex).toBeDefined();"},{"line_number":65,"context_line":"      expect(ctrl.drivers).toBeNull();"},{"line_number":66,"context_line":"      expect(ctrl.images).toBeNull();"}],"source_content_type":"text/javascript","patch_set":6,"id":"bf091321_c009d9dd","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":25},"in_reply_to":"bf091321_6721074e","updated":"2017-06-08 12:57:39.000000000","message":"I initially left it out based on the thinking that we are trying to validate external interfaces as opposed to internal implementation details.\n\nHowever, on review I see that loadingDriverProperties is publicly referenced in base-node.html, and should be checked as you suggest. Thanks.","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9965fd6f82bef7e29ab8c913d34be4e7f5d3f8e9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        properties: {},"},{"line_number":80,"context_line":"        extra: {},"},{"line_number":81,"context_line":"        network_interface: null});"},{"line_number":82,"context_line":"    });"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    it(\u0027_loadDrivers\u0027, function () {"},{"line_number":85,"context_line":"      ctrl._loadDrivers();"}],"source_content_type":"text/javascript","patch_set":6,"id":"df140735_b51acec2","line":82,"updated":"2017-06-06 13:14:34.000000000","message":"Part of me wonders if we could just validate that only the expected things are present and not more.  From a standpoint of if someone adds something, we want the test to fail so they have to go look at the tests... I know, that is kind of an evil thought, but forcing process via testing seems kind of ideal to me.","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"3899f6eea528513f5cc968da4e8721921875fe64","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        properties: {},"},{"line_number":80,"context_line":"        extra: {},"},{"line_number":81,"context_line":"        network_interface: null});"},{"line_number":82,"context_line":"    });"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    it(\u0027_loadDrivers\u0027, function () {"},{"line_number":85,"context_line":"      ctrl._loadDrivers();"}],"source_content_type":"text/javascript","patch_set":6,"id":"bf091321_802c0148","line":82,"in_reply_to":"df140735_285f7373","updated":"2017-06-08 12:57:39.000000000","message":"We are now validating a precise set of controller properties.","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"24731d51c83b8f0cfc708f7741ac6584447619f9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        properties: {},"},{"line_number":80,"context_line":"        extra: {},"},{"line_number":81,"context_line":"        network_interface: null});"},{"line_number":82,"context_line":"    });"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    it(\u0027_loadDrivers\u0027, function () {"},{"line_number":85,"context_line":"      ctrl._loadDrivers();"}],"source_content_type":"text/javascript","patch_set":6,"id":"df140735_285f7373","line":82,"in_reply_to":"df140735_b51acec2","updated":"2017-06-07 14:16:23.000000000","message":"Makes sense to me. I will look into it.","commit_id":"865126a38a59255edd127befe318fa413a68c669"}],"ironic_ui/static/dashboard/admin/ironic/base-node/base-node.service.js":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"de074fd19e8b2c6a74c9f8822a31c46462f4a572","unresolved":false,"context_lines":[{"line_number":672,"context_line":"      });"},{"line_number":673,"context_line":"    };"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":"        /**"},{"line_number":676,"context_line":"     * @description Check whether a group contains required properties"},{"line_number":677,"context_line":"     *"},{"line_number":678,"context_line":"     * @param {DriverProperty[]} group - Property group"}],"source_content_type":"text/javascript","patch_set":8,"id":"bf091321_a7e6ffe7","line":675,"range":{"start_line":675,"start_character":0,"end_line":675,"end_character":11},"updated":"2017-06-08 11:25:58.000000000","message":"nit: excess indent","commit_id":"73e559b146987deb8fcc335289bebdb711c7183a"}],"ironic_ui/static/dashboard/admin/ironic/edit-node/edit-node.controller.spec.js":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9965fd6f82bef7e29ab8c913d34be4e7f5d3f8e9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright 2015 Hewlett Packard Enterprise Development Company LP"},{"line_number":3,"context_line":" * Copyright 2016 Cray Inc."},{"line_number":4,"context_line":" *"},{"line_number":5,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\");"}],"source_content_type":"text/javascript","patch_set":6,"id":"df140735_156f3a2b","line":2,"updated":"2017-06-06 13:14:34.000000000","message":"Same question, new file?  I guess it is just odd to see a new file with a 2015 copyright date from HPE. :)","commit_id":"865126a38a59255edd127befe318fa413a68c669"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"a7d76f2b652c9eacb87ef569e033bafcbfaedaac","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    it(\u0027buildPatch\u0027, function () {"},{"line_number":93,"context_line":"      var patch \u003d ctrl.buildPatch(editNode, editNode);"},{"line_number":94,"context_line":"      expect(patch.patch).toEqual([]);"},{"line_number":95,"context_line":"      expect(patch.status).toEqual(0);"},{"line_number":96,"context_line":"    });"},{"line_number":97,"context_line":"  });"},{"line_number":98,"context_line":"})();"}],"source_content_type":"text/javascript","patch_set":14,"id":"7f231b9d_50a9348e","line":95,"range":{"start_line":94,"start_character":6,"end_line":95,"end_character":38},"updated":"2017-06-19 21:37:48.000000000","message":"Hi Peter, Is this to simply check there is no change in node status? Is another case needed for status.OK?","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"e105c1623144a10bd2778d1cd4fa9139d52df70e","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    it(\u0027buildPatch\u0027, function () {"},{"line_number":93,"context_line":"      var patch \u003d ctrl.buildPatch(editNode, editNode);"},{"line_number":94,"context_line":"      expect(patch.patch).toEqual([]);"},{"line_number":95,"context_line":"      expect(patch.status).toEqual(0);"},{"line_number":96,"context_line":"    });"},{"line_number":97,"context_line":"  });"},{"line_number":98,"context_line":"})();"}],"source_content_type":"text/javascript","patch_set":14,"id":"5f201791_979a1fc3","line":95,"range":{"start_line":94,"start_character":6,"end_line":95,"end_character":38},"in_reply_to":"5f201791_6a8e7b2f","updated":"2017-06-20 18:00:02.000000000","message":"Yes, saw OK: 0, Error: 1. Thanks.","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"9c89ff1d5bebbff6de38347bdc804c8b422632e3","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    it(\u0027buildPatch\u0027, function () {"},{"line_number":93,"context_line":"      var patch \u003d ctrl.buildPatch(editNode, editNode);"},{"line_number":94,"context_line":"      expect(patch.patch).toEqual([]);"},{"line_number":95,"context_line":"      expect(patch.status).toEqual(0);"},{"line_number":96,"context_line":"    });"},{"line_number":97,"context_line":"  });"},{"line_number":98,"context_line":"})();"}],"source_content_type":"text/javascript","patch_set":14,"id":"5f201791_6a8e7b2f","line":95,"range":{"start_line":94,"start_character":6,"end_line":95,"end_character":38},"in_reply_to":"7f231b9d_50a9348e","updated":"2017-06-20 16:12:31.000000000","message":"This test is validating that a patch between identical objects is empty, and that the patch was successfully created. In the second expect 0 should be status.OK.","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"}],"ironic_ui/static/dashboard/admin/ironic/ironic.service.spec.js":[{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"5f152b2d2546e1c4beff19d09ba8679c25fa4d45","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      }));"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"      beforeEach(inject(function($injector) {"},{"line_number":73,"context_line":"        ironicAPI \u003d"},{"line_number":74,"context_line":"          $injector.get(\u0027horizon.app.core.openstack-service-api.ironic\u0027);"},{"line_number":75,"context_line":"      }));"},{"line_number":76,"context_line":""}],"source_content_type":"text/javascript","patch_set":14,"id":"7f231b9d_d8bdc3d8","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":19},"updated":"2017-06-15 19:03:08.000000000","message":"Why can\u0027t we club this into above $injector?","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"5bb6362dbbc5c68b90660b4aff520d85ecbc21f0","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      }));"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"      beforeEach(inject(function($injector) {"},{"line_number":73,"context_line":"        ironicAPI \u003d"},{"line_number":74,"context_line":"          $injector.get(\u0027horizon.app.core.openstack-service-api.ironic\u0027);"},{"line_number":75,"context_line":"      }));"},{"line_number":76,"context_line":""}],"source_content_type":"text/javascript","patch_set":14,"id":"7f231b9d_db77fd9f","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":19},"in_reply_to":"7f231b9d_d8bdc3d8","updated":"2017-06-15 19:26:36.000000000","message":"That could be done, but I dont see a strong need to do so. I would not object if someone else made the change.","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"},{"author":{"_account_id":19593,"name":"Anup Navare","email":"anup.d.navare@intel.com","username":"anup"},"change_message_id":"5f152b2d2546e1c4beff19d09ba8679c25fa4d45","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        });"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        it(\u0027deleteNode\u0027, function() {"},{"line_number":135,"context_line":"          createNode({driver: defaultDriver})"},{"line_number":136,"context_line":"            .then(function(node) {"},{"line_number":137,"context_line":"              return ironicAPI.deleteNode(node.uuid).then(function() {"},{"line_number":138,"context_line":"                return node;"}],"source_content_type":"text/javascript","patch_set":14,"id":"7f231b9d_78b46fd1","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":45},"updated":"2017-06-15 19:03:08.000000000","message":"is it possible for creating node once and store that node, that way we don\u0027t need to create nodes in each functions except deleteNode()? just a thought","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"5bb6362dbbc5c68b90660b4aff520d85ecbc21f0","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        });"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        it(\u0027deleteNode\u0027, function() {"},{"line_number":135,"context_line":"          createNode({driver: defaultDriver})"},{"line_number":136,"context_line":"            .then(function(node) {"},{"line_number":137,"context_line":"              return ironicAPI.deleteNode(node.uuid).then(function() {"},{"line_number":138,"context_line":"                return node;"}],"source_content_type":"text/javascript","patch_set":14,"id":"7f231b9d_fbeab9d5","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":45},"in_reply_to":"7f231b9d_78b46fd1","updated":"2017-06-15 19:26:36.000000000","message":"I am sure it is possible, but am not convinced it is desirable. I am not sure the additional coupling justifies the reduction of code. Each test would replace createNode with some kind of reset/edit node instructions. I am open to proposals.","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"}],"releasenotes/notes/unit-test-framework-f61ad7926413bf91.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a83defe49b6f826c4e8a462b4a5afded4d33dd42","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A backend mock has been added that enables better unit testing of the"},{"line_number":5,"context_line":"    Ironic API service and other Ironic-UI components. The mock utilizes"},{"line_number":6,"context_line":"    Angular $httpbackend handlers to intercept requests targeted at the"},{"line_number":7,"context_line":"    Ironic-UI server-side REST endpoints, and returns simulated responses."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7f231b9d_64e4d2e0","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":5},"updated":"2017-06-15 14:07:05.000000000","message":"nit: s/A/Adds/ since some people are a little particular about release note formatting.  Regardless, it may get updated prior to release.","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"},{"author":{"_account_id":19380,"name":"Peter Piela","email":"ppiela@gmail.com","username":"ppiela"},"change_message_id":"7c02449f8ae6d04d441f4beaa3e1b440bde557af","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A backend mock has been added that enables better unit testing of the"},{"line_number":5,"context_line":"    Ironic API service and other Ironic-UI components. The mock utilizes"},{"line_number":6,"context_line":"    Angular $httpbackend handlers to intercept requests targeted at the"},{"line_number":7,"context_line":"    Ironic-UI server-side REST endpoints, and returns simulated responses."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7f231b9d_bfb9d715","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":5},"in_reply_to":"7f231b9d_64e4d2e0","updated":"2017-06-15 14:26:18.000000000","message":"Good to know. I expect that we will consolidate as part of making the release.","commit_id":"b0d23f988f63ffbb4a6112126472acb46df6e458"}]}
