Ejemplo n.º 1
0
 def __deferred_init(self):
     """
     Init all data that requires external resources
     """
     if self.__inited:
         return
     logger.info("Getting API URLs from well-known {}".format(
         self.__discovery_url))
     self.secret_manager = secret.Manager()
     self.config = common.get_config()
     self.__well_known = WellKnown(self.__discovery_url)
     wk = self.__well_known.get_well_known()
     self.api_url = wk["api"]["endpoints"]
     # XXX These are not currently used
     # self.api_audience = wk["api"]["audience"]
     # self.api_url_person = self.api_url["person"]
     # self.api_url_change = self.api_url["change"]
     self.api_audience = self.config("api_identifier",
                                     namespace="cis",
                                     default="api.dev.sso.allizom.org")
     self.api_url_person = "https://" + self.config(
         "person_api_url",
         namespace="cis",
         default="person.api.dev.sso.allizom.org")
     self.api_url_change = "https://" + self.config(
         "change_api_url",
         namespace="cis",
         default="change.api.dev.sso.allizom.org")
     self.publisher_rules = self.__well_known.get_publisher_rules()
     self.__inited = True
    def test_secret_manager(self):
        self.secret_name = "dinosecret"
        client = boto3.client("ssm", region_name="us-west-2")
        client.put_parameter(
            Name="/baz/{}".format(self.secret_name),
            Description="A secret about Dinos.",
            Value="adinosecret",
            Type="SecureString",
            KeyId="alias/aws/ssm",
        )

        from cis_publisher import secret

        environ["CIS_SECRET_MANAGER_SSM_PATH"] = "/baz"
        manager = secret.Manager()
        result = manager.secret("dinosecret")
        assert result == "adinosecret"