)]}'
{
  "commit": "00f259670cd792b536bc82b34514e23f90662a51",
  "tree": "025205da921e92f6ce535ae57a2fc813f87b1bd9",
  "parents": [
    "0afc659299b2df8c6e99a193eb2b5d138277aa79"
  ],
  "author": {
    "name": "Jordan Pittier",
    "email": "jordan.pittier@scality.com",
    "time": "Fri Mar 18 17:10:07 2016 +0100"
  },
  "committer": {
    "name": "Jordan Pittier",
    "email": "jordan.pittier@scality.com",
    "time": "Tue Apr 12 16:09:10 2016 +0200"
  },
  "message": "Get rid of httplib2, use urllib3 instead\n\nhttplib2 has been abandonned by its author [1] and is less going\nto be updated and maintained than urllib3. So, let\u0027s replace httplib2\nwith urllib3.\n\nNote that this patch mostly rework the unit tests.\n\nI removed the files `tempest.tests.fake_identity` and\n`tempest.tests.fake_http` to use their `tempest.tests.lib` counterpart.\n\nAlso, I tried to \"encapsulated\" HTTP calls and use\n`tempest/lib/common/http.py` everywhere so that we only import\nurllib3 once. This makes us not so dependent on a specific HTTP\nlibrary.\n\n[1] http://bitworking.org/news/2016/03/an_update_on_httplib2\nChange-Id: Id469e78afdb69a404144568a454d98d20a924231\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7c426e66819a29315633a1d2cd2e8e1fcda033bf",
      "old_mode": 33188,
      "old_path": "requirements.txt",
      "new_id": "a2ec16e30a1a33d7e750c4feb12973040ca38365",
      "new_mode": 33188,
      "new_path": "requirements.txt"
    },
    {
      "type": "modify",
      "old_id": "0ba322d899b7adfc56af5b23c0de381430421cdb",
      "old_mode": 33188,
      "old_path": "tempest/cmd/verify_tempest_config.py",
      "new_id": "f29973d5985269e63a39c3e2f6638d69154d153d",
      "new_mode": 33188,
      "new_path": "tempest/cmd/verify_tempest_config.py"
    },
    {
      "type": "modify",
      "old_id": "b3793bc8faf2d10facf5b9b2082b3062cf4c843d",
      "old_mode": 33188,
      "old_path": "tempest/lib/common/http.py",
      "new_id": "dffc5f90fa6830d6d8a6d443b3af063b593e69b6",
      "new_mode": 33188,
      "new_path": "tempest/lib/common/http.py"
    },
    {
      "type": "modify",
      "old_id": "5d050d17965a55ebdfeb0df87e7ef80704fa08cc",
      "old_mode": 33188,
      "old_path": "tempest/tests/cmd/test_verify_tempest_config.py",
      "new_id": "9df07a160f89be533503e44f9be1b70496c6dd4a",
      "new_mode": 33188,
      "new_path": "tempest/tests/cmd/test_verify_tempest_config.py"
    },
    {
      "type": "modify",
      "old_id": "8c721e6bf3cecef828469aec6a30700f394e65d4",
      "old_mode": 33188,
      "old_path": "tempest/tests/common/test_configured_creds.py",
      "new_id": "3c104b2e484ceea5d3e8113d09830c87ce1be94c",
      "new_mode": 33188,
      "new_path": "tempest/tests/common/test_configured_creds.py"
    },
    {
      "type": "modify",
      "old_id": "f2052dc74d07e56c6e854bd0f2c60b9bab8c4460",
      "old_mode": 33188,
      "old_path": "tempest/tests/common/test_dynamic_creds.py",
      "new_id": "e1d9023b24feb0f9b33ec93436b71ae27d0058a6",
      "new_mode": 33188,
      "new_path": "tempest/tests/common/test_dynamic_creds.py"
    },
    {
      "type": "modify",
      "old_id": "efc5ef6770622900697d9f67ecc10eaf728ef59c",
      "old_mode": 33188,
      "old_path": "tempest/tests/common/test_preprov_creds.py",
      "new_id": "36d6c3db4e0371a77a8655d1bbff97f93ecdb69c",
      "new_mode": 33188,
      "new_path": "tempest/tests/common/test_preprov_creds.py"
    },
    {
      "type": "delete",
      "old_id": "d71405569602f09d2b617cb0e58654dbb3988dfa",
      "old_mode": 33188,
      "old_path": "tempest/tests/fake_http.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "d0de927db6f652494e02d04620536a2b5f1fb5a2",
      "old_mode": 33188,
      "old_path": "tempest/tests/fake_identity.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "eda202d436c2e1d5aa7183ebddebbae2c5485459",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/fake_http.py",
      "new_id": "397c856459229d0b118d8ba190fad8922879287f",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/fake_http.py"
    },
    {
      "type": "modify",
      "old_id": "bac26761fdaf51753c477aebd2ffbbeba96e476f",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/fake_identity.py",
      "new_id": "5732065f8c83ec9ed7d6a8d4bb827ac798d0be20",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/fake_identity.py"
    },
    {
      "type": "modify",
      "old_id": "56020443daa298820cfb3d455edab974ff786cbc",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/services/compute/base.py",
      "new_id": "c805de2e3fb2ef6e7dc06b92c716bf731f3eb931",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/services/compute/base.py"
    },
    {
      "type": "modify",
      "old_id": "f552ef532653b216e45120ca09f405faf8d85553",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/services/compute/test_base_compute_client.py",
      "new_id": "49d29b37a938fb3502f4048e74ca54ed4718987d",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/services/compute/test_base_compute_client.py"
    },
    {
      "type": "modify",
      "old_id": "795aff74465344c510292aec5f6ff64d6ea91df4",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/services/compute/test_flavors_client.py",
      "new_id": "e22b4fe93c9777f945b30bad876102edf0e57323",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/services/compute/test_flavors_client.py"
    },
    {
      "type": "modify",
      "old_id": "f1f29067baf44053dbe977c4d2bbed402512ba19",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/services/compute/test_server_groups_client.py",
      "new_id": "cb163a8d13495dbf68b50e5fef6716583cb497f7",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/services/compute/test_server_groups_client.py"
    },
    {
      "type": "modify",
      "old_id": "dd3533a4ce291500981de94edffb1ee1ae232496",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/services/identity/v2/test_token_client.py",
      "new_id": "d91ecdc68e487f890981ba2746a76aedf949cb37",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/services/identity/v2/test_token_client.py"
    },
    {
      "type": "modify",
      "old_id": "bb4dae3e0f23ad2d52f20bca06f4e40cd9b94bd3",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/services/identity/v3/test_token_client.py",
      "new_id": "52b8e01cd71aefd4ce640b027df9aaa4d625eb13",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/services/identity/v3/test_token_client.py"
    },
    {
      "type": "modify",
      "old_id": "55f0c4e4721702cf4d8ee466ff0450753975225f",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/test_auth.py",
      "new_id": "5aeb47c36dcd47659477babee48f8833468bdd4a",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/test_auth.py"
    },
    {
      "type": "modify",
      "old_id": "87af4556a34a04a1c71a90ac6dbcf49e6569d338",
      "old_mode": 33188,
      "old_path": "tempest/tests/lib/test_rest_client.py",
      "new_id": "90651b06c3847a4eb06dd314699105096faa99ae",
      "new_mode": 33188,
      "new_path": "tempest/tests/lib/test_rest_client.py"
    },
    {
      "type": "modify",
      "old_id": "10f80a78def45433a7b5018b4f92374d6079da50",
      "old_mode": 33188,
      "old_path": "tempest/tests/test_glance_http.py",
      "new_id": "fdbc2d26135a7555de8f5a6eec8896182d9bc892",
      "new_mode": 33188,
      "new_path": "tempest/tests/test_glance_http.py"
    },
    {
      "type": "modify",
      "old_id": "6a071b163030b8588df0808ddeab1fdb120d4109",
      "old_mode": 33188,
      "old_path": "tempest/tests/test_negative_rest_client.py",
      "new_id": "a1b5f0ee81660d327c7c5036cc280d9f9dac6f86",
      "new_mode": 33188,
      "new_path": "tempest/tests/test_negative_rest_client.py"
    }
  ]
}
