)]}'
{
  "commit": "fc511ed0e2f3bbbdc0ccaa6b0d6ae7cc57b029f9",
  "tree": "0fff4cfc832ed8a26577e5e77954bca5aa300caf",
  "parents": [
    "13950825f557fdc7f8e0859c1d10b63c5e57cfea"
  ],
  "author": {
    "name": "Adam Israel",
    "email": "adam.israel@canonical.com",
    "time": "Fri Sep 21 14:20:55 2018 +0200"
  },
  "committer": {
    "name": "Adam Israel",
    "email": "adam.israel@canonical.com",
    "time": "Tue Sep 25 13:59:28 2018 -0400"
  },
  "message": "Improved integration tests\n\nThis merge includes a refactored integration test framework, to better\ntake advantage of asyncio, and clarifies the test logic so it\u0027s easier\nto extend in the future. It also supports testing of more complex VNFs,\nsuch as multi-vdu, multi-charm VNFs.\n\nn2vc/vnf.py:\n- Remove duplicate status filtering, as it was a poor solution and lead\nto situations where some callbacks were not sent.\n- Added an internal refcount to track libjuju instantiation (helpful in\ndebugging)\n\ntests/charms/layers/proxy-ci/reactive/proxy_ci.py:\n- Fix name of install function (remove confusion while reading logs)\n\ntests/base.py:\n- Add debug() for more consistent and useful logging\n- Refactor: remove parse_metrics\n- Improved error handling\n- Better LXD network connectivity verification\n- Refactor test framework:\n    - Better use of async coded\n    - Make handling of test phase more robust\n    - Support more complex test cases, such as multi-vdu, multi-charm\n\ntests/integration/*\n- Update to use refactored test framework\n\nOther:\n- `make clean` now removes charm artifacts in tests/charms/builds/\n- `make lint` now ignores charm artifacts\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: I43a6d573a7bafdfe3ccb0bb0f0f7d75dcc9c42b1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8d35cb3277ff6eb0d637147c09e95934604a431c",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "543898d6be4d16c8d3b6a02dfda21c5d0d98a22d",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "modify",
      "old_id": "4655d335ed3ae0a7eb3b09b5ebec8decf76d9864",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "51e19b4f752469ece407d0356602b9e957116413",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "df3ec00f06bb4fb86427f0b90e6b4acefc7f9431",
      "old_mode": 33188,
      "old_path": "n2vc/vnf.py",
      "new_id": "8064cb3489680501d918c3a8dd5dbcecebc87e04",
      "new_mode": 33188,
      "new_path": "n2vc/vnf.py"
    },
    {
      "type": "modify",
      "old_id": "ca34d95b103c9d341f0c1684c10639dd5a13c1ee",
      "old_mode": 33188,
      "old_path": "tests/base.py",
      "new_id": "1db48432a08c962d6dd4e47d039793f498260a5f",
      "new_mode": 33188,
      "new_path": "tests/base.py"
    },
    {
      "type": "modify",
      "old_id": "30e4eea3036ea1fe30afff829eab0f130c772f06",
      "old_mode": 33188,
      "old_path": "tests/charms/layers/proxy-ci/reactive/proxy_ci.py",
      "new_id": "98b7f9636dc1cae0ab7dd50f98ac9aaa3de5bfa9",
      "new_mode": 33188,
      "new_path": "tests/charms/layers/proxy-ci/reactive/proxy_ci.py"
    },
    {
      "type": "modify",
      "old_id": "d1b60ff9e536f92335bb8b56c7ac06305ef9ba41",
      "old_mode": 33188,
      "old_path": "tests/integration/test_charm_native.py",
      "new_id": "85a282e3411e0e0648e6fbb3e87732489d0c4c2e",
      "new_mode": 33188,
      "new_path": "tests/integration/test_charm_native.py"
    },
    {
      "type": "modify",
      "old_id": "c1661ac1d2f8ef32a1c78cede406fae9050f1fb3",
      "old_mode": 33188,
      "old_path": "tests/integration/test_charm_proxy.py",
      "new_id": "a05df5f9aa30bf40643c891493b1e447f819c63a",
      "new_mode": 33188,
      "new_path": "tests/integration/test_charm_proxy.py"
    },
    {
      "type": "modify",
      "old_id": "74faebf4194425b3f7652490bae77aa786642aa0",
      "old_mode": 33188,
      "old_path": "tests/integration/test_metrics_native.py",
      "new_id": "4288915392f4958ac06b3ac438af6b0df1fe4134",
      "new_mode": 33188,
      "new_path": "tests/integration/test_metrics_native.py"
    },
    {
      "type": "modify",
      "old_id": "98285fdf8924a9e29fd4e95eb78ec66963b4acfe",
      "old_mode": 33188,
      "old_path": "tests/integration/test_metrics_proxy.py",
      "new_id": "e7fa92095a8b28b058ddb9249aaf12a58ddc2429",
      "new_mode": 33188,
      "new_path": "tests/integration/test_metrics_proxy.py"
    },
    {
      "type": "modify",
      "old_id": "99ba878df2f18315e24db3bd984c28c63de4b827",
      "old_mode": 33188,
      "old_path": "tests/integration/test_multivdu_multicharm.py",
      "new_id": "e0fb9c78cfab1c42ed462a3de3b5d12029c02773",
      "new_mode": 33188,
      "new_path": "tests/integration/test_multivdu_multicharm.py"
    },
    {
      "type": "modify",
      "old_id": "e66a69586617c29cd79bc442328b46712f89e0ac",
      "old_mode": 33188,
      "old_path": "tests/integration/test_no_initial_config_primitive.py",
      "new_id": "0d902050eab0d2a983526afa52fa4a6b49919945",
      "new_mode": 33188,
      "new_path": "tests/integration/test_no_initial_config_primitive.py"
    },
    {
      "type": "modify",
      "old_id": "39c24438793089a19ef1650369cd07b22474c4a6",
      "old_mode": 33188,
      "old_path": "tests/integration/test_no_parameter.py",
      "new_id": "55c2c3a1fa0f56dff025700f3355513a63b538dc",
      "new_mode": 33188,
      "new_path": "tests/integration/test_no_parameter.py"
    },
    {
      "type": "modify",
      "old_id": "ed3dfc7c687cd29a0e659bcc1b005d7211e7abfc",
      "old_mode": 33188,
      "old_path": "tests/integration/test_non_string_parameter.py",
      "new_id": "b93dfed62c8a43cc59f3dabde3424b546c5a6a52",
      "new_mode": 33188,
      "new_path": "tests/integration/test_non_string_parameter.py"
    },
    {
      "type": "modify",
      "old_id": "9ef529ffe1603442c8e5835258fccae21eaa9d74",
      "old_mode": 33188,
      "old_path": "tox.ini",
      "new_id": "a568d3f0fd3791581b330a79e3cef5b9c8f8e8cc",
      "new_mode": 33188,
      "new_path": "tox.ini"
    }
  ]
}
