)]}'
{"tempest/api/object_storage/test_account_services.py":[{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"93e2d1da86f14637390d821802b3ecc8919b979e","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    def test_list_extensions(self):"},{"line_number":138,"context_line":"        resp, extensions \u003d self.capabilities_client.list_capabilities()"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        self.assertThat(resp, custom_matchers.AreAllWellFormatted())"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    @test.idempotent_id(\u00275cfa4ab2-4373-48dd-a41f-a532b12b08b2\u0027)"},{"line_number":143,"context_line":"    def test_list_containers_with_limit(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_4f676d25","side":"PARENT","line":140,"updated":"2017-01-09 21:46:31.000000000","message":"Why this test is removed?","commit_id":"a37a21d083731fb86783564e358a6361f5a10948"}],"tempest/api/object_storage/test_discoverability.py":[{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"3ff9add9eb783cd33b5c28763d3590c1dba75e15","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"},{"line_number":114,"context_line":"    @test.idempotent_id(\u0027b541aaaa-8a1e-49b3-973c-bc5a73d1a631\u0027)"},{"line_number":115,"context_line":"    def test_discoverability_invalid_admin(self):"},{"line_number":116,"context_line":"        # The status will be different if this functionality is"},{"line_number":117,"context_line":"        # enabled or disabled, so checking for both cases"},{"line_number":118,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_670f03e2","line":115,"updated":"2016-04-15 18:17:06.000000000","message":"I don\u0027t think we are still accepting negative now. Please refer 3/24 OpenStack QA community meeting\nhttps://wiki.openstack.org/wiki/Meetings/QATeamMeeting#Proposed_Agenda_for_March_24th_2016_.280900_UTC.29","commit_id":"c40610278f5d08f21d041b5da11dd2b97b63a9f0"},{"author":{"_account_id":20553,"name":"Brian Ober","email":"bober@us.ibm.com","username":"ober37"},"change_message_id":"cd50a76d2d06657fb1ef52e6e3e894e78c3bf264","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027])"},{"line_number":114,"context_line":"    @test.idempotent_id(\u0027b541aaaa-8a1e-49b3-973c-bc5a73d1a631\u0027)"},{"line_number":115,"context_line":"    def test_discoverability_invalid_admin(self):"},{"line_number":116,"context_line":"        # The status will be different if this functionality is"},{"line_number":117,"context_line":"        # enabled or disabled, so checking for both cases"},{"line_number":118,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_26f344a0","line":115,"in_reply_to":"1a122d0e_670f03e2","updated":"2016-04-16 02:50:30.000000000","message":"Thanks Tong, the way that I read these notes is that this is still an open discussion and will be discussed in Austin.   Is this not the case?   I am hoping that this can still occur, I am wanting to have my team add a number of positive and negative cases in this module, my personal view is that this is an essential part of interface validation.     \n\nIs there a way to get confirmation around this?","commit_id":"c40610278f5d08f21d041b5da11dd2b97b63a9f0"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"478da7769f4d1f93a2ce6133beba80a2939468b3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2013 eNovance SAS \u003clicensing@enovance.com\u003e"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_25fe0cae","line":1,"updated":"2016-08-17 22:28:58.000000000","message":"fix","commit_id":"f0dd4f79b84b83e9d73a10c01f8cf0d079f82f04"},{"author":{"_account_id":9622,"name":"Cindy Lu","email":"clu@us.ibm.com","username":"clu14"},"change_message_id":"478da7769f4d1f93a2ce6133beba80a2939468b3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        # their individual areas where applicable"},{"line_number":42,"context_line":"        self.assertIsNotNone(body)"},{"line_number":43,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027])"},{"line_number":44,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_file_size\u0027])"},{"line_number":45,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027account_listing_limit\u0027])"},{"line_number":46,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027account_autocreate\u0027])"},{"line_number":47,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_meta_count\u0027])"},{"line_number":48,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_meta_value_length\u0027])"},{"line_number":49,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027container_listing_limit\u0027])"},{"line_number":50,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027extra_header_count\u0027])"},{"line_number":51,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_meta_overall_size\u0027])"},{"line_number":52,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_meta_name_length\u0027])"},{"line_number":53,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_header_size\u0027])"},{"line_number":54,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027policies\u0027])"},{"line_number":55,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_object_name_length\u0027])"},{"line_number":56,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_account_name_length\u0027])"},{"line_number":57,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027strict_cors_mode\u0027])"},{"line_number":58,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027allow_account_management\u0027])"},{"line_number":59,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_container_name_length\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def _validate_discoverability_resp(self, method, resp, body):"},{"line_number":62,"context_line":"        # The target of the request is not any Swift resource. Therefore, the"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_e594f48b","line":59,"range":{"start_line":44,"start_character":8,"end_line":59,"end_character":72},"updated":"2016-08-17 22:28:58.000000000","message":"where did you get the list of constraints?\n\nseem to be different in different places:\n1. https://github.com/openstack/swift/blob/master/swift/common/constraints.py\n2. http://docs.openstack.org/kilo/config-reference/content/object-storage-constraints.html\n3. https://github.com/openstack/swift/blob/master/etc/swift.conf-sample#L89-L184","commit_id":"f0dd4f79b84b83e9d73a10c01f8cf0d079f82f04"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"b0ffc25eecdfeb5c8ce89920ad901d71d460eb3e","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class DiscoverabilityTest(base.BaseObjectTest):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(DiscoverabilityTest, self).setUp()"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8ec9b2_79a83578","line":28,"updated":"2016-09-20 16:57:35.000000000","message":"Implement a skip_checks method here (look for other examples in Tempest code base)","commit_id":"6ea94bc5c968e0330f7484845e448ede1d149f64"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"b0ffc25eecdfeb5c8ce89920ad901d71d460eb3e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(DiscoverabilityTest, self).setUp()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        # Allowing to us /info and not v1/info"},{"line_number":33,"context_line":"        self.account_client.skip_path()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8ec9b2_b9071dc8","line":32,"updated":"2016-09-20 16:57:35.000000000","message":"to *use*","commit_id":"6ea94bc5c968e0330f7484845e448ede1d149f64"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"b0ffc25eecdfeb5c8ce89920ad901d71d460eb3e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        # Allowing to us /info and not v1/info"},{"line_number":33,"context_line":"        self.account_client.skip_path()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def tearDown(self):"},{"line_number":36,"context_line":"        super(DiscoverabilityTest, self).tearDown()"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def _validate_discoverability_resp_body(self, body):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8ec9b2_79fe75af","line":35,"updated":"2016-09-20 16:57:35.000000000","message":"Useless method. If you just call the parent\u0027s method, there\u0027s no need to override.","commit_id":"6ea94bc5c968e0330f7484845e448ede1d149f64"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"b0ffc25eecdfeb5c8ce89920ad901d71d460eb3e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # Only validating the standard swift configuration"},{"line_number":40,"context_line":"        # other object storage test cases should validate"},{"line_number":41,"context_line":"        # their individual areas where applicable"},{"line_number":42,"context_line":"        self.assertIsNotNone(body)"},{"line_number":43,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027])"},{"line_number":44,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027max_file_size\u0027])"},{"line_number":45,"context_line":"        self.assertIsNotNone(body[\u0027swift\u0027][\u0027account_listing_limit\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8ec9b2_99b981ef","line":42,"updated":"2016-09-20 16:57:35.000000000","message":"Use a loop.\n\nfor key in (\u0027max_file_size\u0027, \u0027account_listing_limit\u0027, ...):\n  self.assertIsNotNone(body[\u0027swift\u0027][key]","commit_id":"6ea94bc5c968e0330f7484845e448ede1d149f64"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"b0ffc25eecdfeb5c8ce89920ad901d71d460eb3e","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        elif (method \u003d\u003d \u0027OPTIONS\u0027):"},{"line_number":80,"context_line":"            self.assertEqual(resp[\u0027content-type\u0027], \u0027text/html; charset\u003dUTF-8\u0027)"},{"line_number":81,"context_line":"            self.assertTrue(resp[\u0027content-length\u0027] \u003d\u003d \u00270\u0027)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @test.idempotent_id(\u00279fa07533-04b0-4a99-8668-8b1ab8b8adb4\u0027)"},{"line_number":84,"context_line":"    @testtools.skipIf("}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8ec9b2_b9a39db0","line":81,"updated":"2016-09-20 16:57:35.000000000","message":"use assertEqual here too","commit_id":"6ea94bc5c968e0330f7484845e448ede1d149f64"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"93e2d1da86f14637390d821802b3ecc8919b979e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def skip_checks(cls):"},{"line_number":31,"context_line":"        super(DiscoverabilityTest, cls).skip_checks()"},{"line_number":32,"context_line":"        if not CONF.service_available.swift:"},{"line_number":33,"context_line":"            raise cls.skipException(\"Swift support is required\")"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_0f55651c","line":32,"updated":"2017-01-09 21:46:31.000000000","message":"I think it should be skipped if the following is not enabled\n\n CONF.object_storage_feature_enabled.discoverability","commit_id":"bdf98fb7c2fbc3302139909935f71c5362035c43"}]}
