)]}'
{"keystone/tests/unit/test_cli.py":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"c2399663dc9101273cd9a1427674d7d4fc215739","unresolved":false,"context_lines":[{"line_number":958,"context_line":""},{"line_number":959,"context_line":"    @mock.patch(\u0027os.listdir\u0027)"},{"line_number":960,"context_line":"    @mock.patch(\u0027os.path.isdir\u0027)"},{"line_number":961,"context_line":"    def test_file_based_domain_specific_configs_raised(self, mocked_isdir,"},{"line_number":962,"context_line":"                                                       mocked_listdir):"},{"line_number":963,"context_line":"        self.config_fixture.config("},{"line_number":964,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":965,"context_line":"            domain_specific_drivers_enabled\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_ae642b49","line":962,"range":{"start_line":961,"start_character":60,"end_line":962,"end_character":69},"updated":"2016-12-14 10:54:25.000000000","message":"so you get these in the opposite order you mock them just above ?","commit_id":"58bcfef5f669fbbe5276b3b237bd8938ca605d22"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"a51fcd5c7e0f95bef70fa3648b42337fbb7d13f2","unresolved":false,"context_lines":[{"line_number":958,"context_line":""},{"line_number":959,"context_line":"    @mock.patch(\u0027os.listdir\u0027)"},{"line_number":960,"context_line":"    @mock.patch(\u0027os.path.isdir\u0027)"},{"line_number":961,"context_line":"    def test_file_based_domain_specific_configs_raised(self, mocked_isdir,"},{"line_number":962,"context_line":"                                                       mocked_listdir):"},{"line_number":963,"context_line":"        self.config_fixture.config("},{"line_number":964,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":965,"context_line":"            domain_specific_drivers_enabled\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_5fffa866","line":962,"range":{"start_line":961,"start_character":60,"end_line":962,"end_character":69},"in_reply_to":"1a6eadb0_ae642b49","updated":"2016-12-14 18:35:41.000000000","message":"Yes, I felt the same way when I first learned this. \n\"Note When you nest patch decorators the mocks are passed in to the decorated function in the same order they applied (the normal python order that decorators are applied). This means from the bottom up, so in the example above the mock for module.ClassName1 is passed in first.\"\nThis quote along with an example is located here: \nhttps://docs.python.org/3/library/unittest.mock.html","commit_id":"58bcfef5f669fbbe5276b3b237bd8938ca605d22"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"c2399663dc9101273cd9a1427674d7d4fc215739","unresolved":false,"context_lines":[{"line_number":973,"context_line":""},{"line_number":974,"context_line":"        # Symptom if there is an invalid filename inside the domain directory"},{"line_number":975,"context_line":"        mocked_isdir.return_value \u003d True"},{"line_number":976,"context_line":"        mocked_listdir.return_value \u003d [\u0027openstack.domains.conf\u0027]"},{"line_number":977,"context_line":"        self.assertTrue(ldap.symptom_LDAP_file_based_domain_specific_configs())"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    @mock.patch(\u0027os.listdir\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_ee8703d5","line":976,"range":{"start_line":976,"start_character":40,"end_line":976,"end_character":62},"updated":"2016-12-14 10:54:25.000000000","message":"why is this an invalid name and \u0027keystone.domains.conf\u0027 in the test below isn\u0027t ?","commit_id":"58bcfef5f669fbbe5276b3b237bd8938ca605d22"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6d1dbed6a8477cc10a7d9c9a19024fcb7c6f676e","unresolved":false,"context_lines":[{"line_number":973,"context_line":""},{"line_number":974,"context_line":"        # Symptom if there is an invalid filename inside the domain directory"},{"line_number":975,"context_line":"        mocked_isdir.return_value \u003d True"},{"line_number":976,"context_line":"        mocked_listdir.return_value \u003d [\u0027openstack.domains.conf\u0027]"},{"line_number":977,"context_line":"        self.assertTrue(ldap.symptom_LDAP_file_based_domain_specific_configs())"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    @mock.patch(\u0027os.listdir\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_8322ce50","line":976,"range":{"start_line":976,"start_character":40,"end_line":976,"end_character":62},"in_reply_to":"1a6eadb0_1f7a90f1","updated":"2016-12-14 18:55:11.000000000","message":"This is correct. It also has a notice for if you have README files or something in the directory that you can just ignore the warning.","commit_id":"58bcfef5f669fbbe5276b3b237bd8938ca605d22"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"a51fcd5c7e0f95bef70fa3648b42337fbb7d13f2","unresolved":false,"context_lines":[{"line_number":973,"context_line":""},{"line_number":974,"context_line":"        # Symptom if there is an invalid filename inside the domain directory"},{"line_number":975,"context_line":"        mocked_isdir.return_value \u003d True"},{"line_number":976,"context_line":"        mocked_listdir.return_value \u003d [\u0027openstack.domains.conf\u0027]"},{"line_number":977,"context_line":"        self.assertTrue(ldap.symptom_LDAP_file_based_domain_specific_configs())"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"    @mock.patch(\u0027os.listdir\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_1f7a90f1","line":976,"range":{"start_line":976,"start_character":40,"end_line":976,"end_character":62},"in_reply_to":"1a6eadb0_ee8703d5","updated":"2016-12-14 18:35:41.000000000","message":"In the file ldap.py you will see the regex they use is that they expect all files to be named like \"keystone.*.conf\" so all files must have keystone., followed by whatever you want to name it, followed by .conf","commit_id":"58bcfef5f669fbbe5276b3b237bd8938ca605d22"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"93ee6f4f6892b77b1e50e827b73751933b7d2095","unresolved":false,"context_lines":[{"line_number":1041,"context_line":"        self.assertFalse(getattr(ldap, symptom)())"},{"line_number":1042,"context_line":""},{"line_number":1043,"context_line":"        # No Symptom Detected: Domain configuration from database is enabled"},{"line_number":1044,"context_line":"        self.config_fixture.config("},{"line_number":1045,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1046,"context_line":"            domain_configurations_from_database\u003dTrue)"},{"line_number":1047,"context_line":"        self.assertFalse(getattr(ldap, symptom)())"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_dbc8f024","line":1044,"updated":"2016-12-15 19:34:54.000000000","message":"enable domain_specific_drivers_enabled first then we can make sure domain_configurations_from_database is the reason of not raising the symptom","commit_id":"1120cdae0195633a8a132fc79b8e217a8da2c305"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"a9899f84bf63e313f67f065c6ef1c7a476a176d4","unresolved":false,"context_lines":[{"line_number":1041,"context_line":"        self.assertFalse(getattr(ldap, symptom)())"},{"line_number":1042,"context_line":""},{"line_number":1043,"context_line":"        # No Symptom Detected: Domain configuration from database is enabled"},{"line_number":1044,"context_line":"        self.config_fixture.config("},{"line_number":1045,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1046,"context_line":"            domain_configurations_from_database\u003dTrue)"},{"line_number":1047,"context_line":"        self.assertFalse(getattr(ldap, symptom)())"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_f6e303d7","line":1044,"in_reply_to":"1a6eadb0_dbc8f024","updated":"2016-12-15 19:56:24.000000000","message":"Done","commit_id":"1120cdae0195633a8a132fc79b8e217a8da2c305"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"23cf72d75dcdfb8eb9fbbf7fd9a98c087cbc4a39","unresolved":false,"context_lines":[{"line_number":1043,"context_line":"        # No Symptom Detected: Domain configuration from database is enabled"},{"line_number":1044,"context_line":"        self.config_fixture.config("},{"line_number":1045,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1046,"context_line":"            domain_specific_drivers_enabled\u003dFalse)"},{"line_number":1047,"context_line":"        self.assertFalse(getattr(ldap, symptom)())"},{"line_number":1048,"context_line":"        self.config_fixture.config("},{"line_number":1049,"context_line":"            group\u003d\u0027identity\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6eadb0_96e3afa3","line":1046,"range":{"start_line":1046,"start_character":44,"end_line":1046,"end_character":49},"updated":"2016-12-15 20:01:09.000000000","message":"True","commit_id":"546b5757d27ec8eb30c10d9583c84a214c23d7ad"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"e354a42a4e8abc0e179ea75279608a81ae89df7e","unresolved":false,"context_lines":[{"line_number":1043,"context_line":"        # No Symptom Detected: Domain configuration from database is enabled"},{"line_number":1044,"context_line":"        self.config_fixture.config("},{"line_number":1045,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1046,"context_line":"            domain_specific_drivers_enabled\u003dFalse)"},{"line_number":1047,"context_line":"        self.assertFalse(getattr(ldap, symptom)())"},{"line_number":1048,"context_line":"        self.config_fixture.config("},{"line_number":1049,"context_line":"            group\u003d\u0027identity\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6eadb0_b17c35b6","line":1046,"range":{"start_line":1046,"start_character":44,"end_line":1046,"end_character":49},"in_reply_to":"1a6eadb0_169ddf09","updated":"2016-12-15 20:37:44.000000000","message":"Yes totally, sorry I am sleepy on autopilot today.","commit_id":"546b5757d27ec8eb30c10d9583c84a214c23d7ad"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"30b66d13a926528cef4813e82e5dc1acf6f91c31","unresolved":false,"context_lines":[{"line_number":1043,"context_line":"        # No Symptom Detected: Domain configuration from database is enabled"},{"line_number":1044,"context_line":"        self.config_fixture.config("},{"line_number":1045,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1046,"context_line":"            domain_specific_drivers_enabled\u003dFalse)"},{"line_number":1047,"context_line":"        self.assertFalse(getattr(ldap, symptom)())"},{"line_number":1048,"context_line":"        self.config_fixture.config("},{"line_number":1049,"context_line":"            group\u003d\u0027identity\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6eadb0_169ddf09","line":1046,"range":{"start_line":1046,"start_character":44,"end_line":1046,"end_character":49},"in_reply_to":"1a6eadb0_96e3afa3","updated":"2016-12-15 20:02:26.000000000","message":"Reasoning here is that domain_specific_drivers_enabled\u003dTrue and domain_configurations_from_database\u003dTrue means we\u0027re using the database correctly, then this symptom won\u0027t be raised. does that make sense to you ?","commit_id":"546b5757d27ec8eb30c10d9583c84a214c23d7ad"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"23cf72d75dcdfb8eb9fbbf7fd9a98c087cbc4a39","unresolved":false,"context_lines":[{"line_number":1057,"context_line":"        # No Symptom Detected: domain specific drivers are enabled, domain"},{"line_number":1058,"context_line":"        # configurations from database are disabled, directory exists, and no"},{"line_number":1059,"context_line":"        # exceptions found."},{"line_number":1060,"context_line":"        self.config_fixture.config("},{"line_number":1061,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1062,"context_line":"            domain_specific_drivers_enabled\u003dTrue)"},{"line_number":1063,"context_line":"        self.config_fixture.config("},{"line_number":1064,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1065,"context_line":"            domain_configurations_from_database\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6eadb0_d6efe784","line":1062,"range":{"start_line":1060,"start_character":0,"end_line":1062,"end_character":49},"updated":"2016-12-15 20:01:09.000000000","message":"then no need to re-enable again here","commit_id":"546b5757d27ec8eb30c10d9583c84a214c23d7ad"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"e354a42a4e8abc0e179ea75279608a81ae89df7e","unresolved":false,"context_lines":[{"line_number":1057,"context_line":"        # No Symptom Detected: domain specific drivers are enabled, domain"},{"line_number":1058,"context_line":"        # configurations from database are disabled, directory exists, and no"},{"line_number":1059,"context_line":"        # exceptions found."},{"line_number":1060,"context_line":"        self.config_fixture.config("},{"line_number":1061,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1062,"context_line":"            domain_specific_drivers_enabled\u003dTrue)"},{"line_number":1063,"context_line":"        self.config_fixture.config("},{"line_number":1064,"context_line":"            group\u003d\u0027identity\u0027,"},{"line_number":1065,"context_line":"            domain_configurations_from_database\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6eadb0_912d79aa","line":1062,"range":{"start_line":1060,"start_character":0,"end_line":1062,"end_character":49},"in_reply_to":"1a6eadb0_d6efe784","updated":"2016-12-15 20:37:44.000000000","message":"Done","commit_id":"546b5757d27ec8eb30c10d9583c84a214c23d7ad"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9900e89b8f3ceaf977f655d7b4db11f8d96c99a1","unresolved":false,"context_lines":[{"line_number":892,"context_line":"            ldap.symptom_LDAP_user_enabled_emulation_dn_ignored())"},{"line_number":893,"context_line":""},{"line_number":894,"context_line":"    def test_user_enabled_emulation_dn_ignored_not_raised(self):"},{"line_number":895,"context_line":"        # No symptom when configuration set properly"},{"line_number":896,"context_line":"        self.config_fixture.config(group\u003d\u0027ldap\u0027, user_enabled_emulation\u003dTrue)"},{"line_number":897,"context_line":"        self.config_fixture.config("},{"line_number":898,"context_line":"            group\u003d\u0027ldap\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6eadb0_f7c77393","line":895,"range":{"start_line":895,"start_character":26,"end_line":895,"end_character":39},"updated":"2016-12-16 03:18:25.000000000","message":"user_enabled_emulation_dn configuration*","commit_id":"a54ab536c0bfc36e8d08ab6459fc53e6bf2b659e"}]}
