|
@@ -4821,7 +4821,7 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
|
|
|
@patch.object(ambari_server, "get_ambari_properties")
|
|
|
@patch.object(ambari_server, "is_server_runing")
|
|
|
@patch.object(ambari_server, "is_root")
|
|
|
- def test_ldap_sync(self, is_root_method, is_server_runing_mock, get_ambari_properties_mock,
|
|
|
+ def test_ldap_sync_all(self, is_root_method, is_server_runing_mock, get_ambari_properties_mock,
|
|
|
get_validated_string_input_mock, urlopen_mock):
|
|
|
|
|
|
is_root_method.return_value = True
|
|
@@ -4839,11 +4839,75 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV
|
|
|
|
|
|
urlopen_mock.return_value = response
|
|
|
|
|
|
+ ambari_server.LDAP_SYNC_ALL = True
|
|
|
+
|
|
|
ambari_server.sync_ldap()
|
|
|
|
|
|
+ ambari_server.LDAP_SYNC_ALL = False
|
|
|
+
|
|
|
self.assertTrue(response.getcode.called)
|
|
|
self.assertTrue(response.read.called)
|
|
|
- pass
|
|
|
+
|
|
|
+ @patch("urllib2.urlopen")
|
|
|
+ @patch.object(ambari_server, "get_validated_string_input")
|
|
|
+ @patch.object(ambari_server, "get_ambari_properties")
|
|
|
+ @patch.object(ambari_server, "is_server_runing")
|
|
|
+ @patch.object(ambari_server, "is_root")
|
|
|
+ def test_ldap_sync_existing(self, is_root_method, is_server_runing_mock, get_ambari_properties_mock,
|
|
|
+ get_validated_string_input_mock, urlopen_mock):
|
|
|
+
|
|
|
+ is_root_method.return_value = True
|
|
|
+ is_server_runing_mock.return_value = (True, 0)
|
|
|
+ properties = ambari_server.Properties()
|
|
|
+ properties.process_pair(ambari_server.IS_LDAP_CONFIGURED, 'true')
|
|
|
+ get_ambari_properties_mock.return_value = properties
|
|
|
+ get_validated_string_input_mock.side_effect = ['admin', 'admin']
|
|
|
+
|
|
|
+ response = MagicMock()
|
|
|
+ response.getcode.side_effect = [201, 200, 200]
|
|
|
+ response.read.side_effect = ['{"resources" : [{"href" : "http://c6401.ambari.apache.org:8080/api/v1/ldap_sync_events/16","Event" : {"id" : 16}}]}',
|
|
|
+ '{"Event":{"status" : "RUNNING","summary" : {"groups" : {"created" : 0,"removed" : 0,"updated" : 0},"memberships" : {"created" : 0,"removed" : 0},"users" : {"created" : 0,"removed" : 0,"updated" : 0}}}}',
|
|
|
+ '{"Event":{"status" : "COMPLETE","summary" : {"groups" : {"created" : 1,"removed" : 0,"updated" : 0},"memberships" : {"created" : 5,"removed" : 0},"users" : {"created" : 5,"removed" : 0,"updated" : 0}}}}']
|
|
|
+
|
|
|
+ urlopen_mock.return_value = response
|
|
|
+
|
|
|
+ ambari_server.LDAP_SYNC_EXISTING = True
|
|
|
+
|
|
|
+ ambari_server.sync_ldap()
|
|
|
+
|
|
|
+ ambari_server.LDAP_SYNC_EXISTING = False
|
|
|
+
|
|
|
+ self.assertTrue(response.getcode.called)
|
|
|
+ self.assertTrue(response.read.called)
|
|
|
+
|
|
|
+ @patch("urllib2.urlopen")
|
|
|
+ @patch.object(ambari_server, "get_validated_string_input")
|
|
|
+ @patch.object(ambari_server, "get_ambari_properties")
|
|
|
+ @patch.object(ambari_server, "is_server_runing")
|
|
|
+ @patch.object(ambari_server, "is_root")
|
|
|
+ def test_ldap_sync_no_sync_mode(self, is_root_method, is_server_runing_mock, get_ambari_properties_mock,
|
|
|
+ get_validated_string_input_mock, urlopen_mock):
|
|
|
+
|
|
|
+ is_root_method.return_value = True
|
|
|
+ is_server_runing_mock.return_value = (True, 0)
|
|
|
+ properties = ambari_server.Properties()
|
|
|
+ properties.process_pair(ambari_server.IS_LDAP_CONFIGURED, 'true')
|
|
|
+ get_ambari_properties_mock.return_value = properties
|
|
|
+ get_validated_string_input_mock.side_effect = ['admin', 'admin']
|
|
|
+
|
|
|
+ response = MagicMock()
|
|
|
+ response.getcode.side_effect = [201, 200, 200]
|
|
|
+ response.read.side_effect = ['{"resources" : [{"href" : "http://c6401.ambari.apache.org:8080/api/v1/ldap_sync_events/16","Event" : {"id" : 16}}]}',
|
|
|
+ '{"Event":{"status" : "RUNNING","summary" : {"groups" : {"created" : 0,"removed" : 0,"updated" : 0},"memberships" : {"created" : 0,"removed" : 0},"users" : {"created" : 0,"removed" : 0,"updated" : 0}}}}',
|
|
|
+ '{"Event":{"status" : "COMPLETE","summary" : {"groups" : {"created" : 1,"removed" : 0,"updated" : 0},"memberships" : {"created" : 5,"removed" : 0},"users" : {"created" : 5,"removed" : 0,"updated" : 0}}}}']
|
|
|
+
|
|
|
+ urlopen_mock.return_value = response
|
|
|
+
|
|
|
+ try:
|
|
|
+ ambari_server.sync_ldap()
|
|
|
+ self.fail("Should fail with exception")
|
|
|
+ except FatalException as e:
|
|
|
+ pass
|
|
|
|
|
|
@patch("urllib2.urlopen")
|
|
|
@patch.object(ambari_server, "get_validated_string_input")
|