code: def get_conf(self, test=False):
          
          logger.debug("Get managed configuration for %s, %s %s",
                       self.name, self.alive, self.reachable)
          # ----------
          if test:
              self.cfg_managed = {}
              self.have_conf = True
              logger.debug("Get managed configuration test ...")
              if getattr(self, 'unit_test_pushed_configuration', None) is not None:
                  # Note this is a dict not a SatelliteLink object !
                  for scheduler_link in self.unit_test_pushed_configuration['schedulers'].values():
                      self.cfg_managed[scheduler_link['instance_id']] = {
                          'hash': scheduler_link['hash'],
                          'push_flavor': scheduler_link['push_flavor'],
                          'managed_conf_id': scheduler_link['managed_conf_id']
                      }
              # print("*** unit tests - get managed configuration %s: %s"
              #       % (self.name, self.cfg_managed))
          # ----------
          else:
              self.cfg_managed = self.con.get('managed_configurations')
              logger.debug("My (%s) fresh managed configuration: %s", self.name, self.cfg_managed)
  
          self.have_conf = (self.cfg_managed != {})
  
          return self.cfg_managed
docs: Send a HTTP request to the satellite (GET /managed_configurations)
          and update the cfg_managed attribute with the new information
          Set to {} on failure
  
          the managed configurations are a dictionary which keys are the scheduler link instance id
          and the values are the push_flavor
  
          If test is True, returns the unit test internally stored configuration
  
          Returns False if a timeout is raised
  
          :return: see @communicate, or the managed configuration