Esempio n. 1
0
 def test_unit_info(self):
     # unit_info returns requested data about a given service.
     juju_yaml = self._make_juju_status_yaml()
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     self.assertEqual('pending',
                      charmhelpers.unit_info('test-service', 'agent-state'))
Esempio n. 2
0
 def test_unit_info(self):
     # unit_info returns requested data about a given service.
     juju_yaml = self._make_juju_status_yaml()
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     self.assertEqual(
         'pending',
         charmhelpers.unit_info('test-service', 'agent-state'))
Esempio n. 3
0
 def test_unit_info_returns_first_unit_by_default(self):
     # By default, unit_info() just returns the value of the
     # requested item for the first unit in a service.
     juju_yaml = self._make_juju_status_yaml(num_units=2)
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     unit_address = charmhelpers.unit_info('test-service', 'public-address')
     self.assertEqual('test-service-0.example.com', unit_address)
Esempio n. 4
0
 def test_unit_info_returns_empty_for_nonexistent_service(self):
     # If the service passed to unit_info() has not yet started (or
     # otherwise doesn't exist), unit_info() will return an empty
     # string.
     juju_yaml = "services: {}"
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     self.assertEqual('', charmhelpers.unit_info('test-service', 'state'))
Esempio n. 5
0
 def test_unit_info_returns_first_unit_by_default(self):
     # By default, unit_info() just returns the value of the
     # requested item for the first unit in a service.
     juju_yaml = self._make_juju_status_yaml(num_units=2)
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     unit_address = charmhelpers.unit_info(
         'test-service', 'public-address')
     self.assertEqual('test-service-0.example.com', unit_address)
Esempio n. 6
0
 def test_unit_info_returns_empty_for_nonexistent_service(self):
     # If the service passed to unit_info() has not yet started (or
     # otherwise doesn't exist), unit_info() will return an empty
     # string.
     juju_yaml = "services: {}"
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     self.assertEqual(
         '', charmhelpers.unit_info('test-service', 'state'))
Esempio n. 7
0
 def test_unit_info_accepts_unit_name(self):
     # By default, unit_info() just returns the value of the
     # requested item for the first unit in a service. However, it's
     # possible to pass a unit name to it, too.
     juju_yaml = self._make_juju_status_yaml(num_units=2)
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     unit_address = charmhelpers.unit_info(
         'test-service', 'public-address', unit='test-service/1')
     self.assertEqual('test-service-1.example.com', unit_address)
Esempio n. 8
0
 def test_unit_info_accepts_unit_name(self):
     # By default, unit_info() just returns the value of the
     # requested item for the first unit in a service. However, it's
     # possible to pass a unit name to it, too.
     juju_yaml = self._make_juju_status_yaml(num_units=2)
     mock_juju_status = lambda: juju_yaml
     self.patch(charmhelpers, 'juju_status', mock_juju_status)
     unit_address = charmhelpers.unit_info('test-service',
                                           'public-address',
                                           unit='test-service/1')
     self.assertEqual('test-service-1.example.com', unit_address)
Esempio n. 9
0
 def test_unit_info_accepts_data(self):
     # It's possible to pass a `data` dict, containing the parsed
     # result of juju status, to unit_info().
     juju_status_data = yaml.safe_load(
         self._make_juju_status_yaml())
     self.patch(charmhelpers, 'juju_status', lambda: None)
     service_data = juju_status_data['services']['test-service']
     unit_info_dict = service_data['units']['test-service/0']
     for key, value in unit_info_dict.items():
         item_info = charmhelpers.unit_info(
             'test-service', key, data=juju_status_data)
         self.assertEqual(value, item_info)
Esempio n. 10
0
 def test_unit_info_accepts_data(self):
     # It's possible to pass a `data` dict, containing the parsed
     # result of juju status, to unit_info().
     juju_status_data = yaml.safe_load(self._make_juju_status_yaml())
     self.patch(charmhelpers, 'juju_status', lambda: None)
     service_data = juju_status_data['services']['test-service']
     unit_info_dict = service_data['units']['test-service/0']
     for key, value in unit_info_dict.items():
         item_info = charmhelpers.unit_info('test-service',
                                            key,
                                            data=juju_status_data)
         self.assertEqual(value, item_info)