def test_initdb_not_initialized(self):

        # Call the function
        model = MagicMock()
        db.init_db(model)

        # Assert that table method has been called
        db.sa.Table.assert_called_once()
        model.meta.mapper.assert_called_once()
Beispiel #2
0
    def test_initdb_not_initialized(self):

        # Call the function
        model = MagicMock()
        db.init_db(model)

        # Assert that table method has been called
        db.sa.Table.assert_called_once()
        model.meta.mapper.assert_called_once()
    def test_initdb_initialized(self):
        db.UserToken = MagicMock()

        # Call the function
        model = MagicMock()
        db.init_db(model)

        # Assert that table method has been called
        self.assertEquals(0, db.sa.Table.call_count)
        self.assertEquals(0, model.meta.mapper.call_count)
Beispiel #4
0
    def test_initdb_initialized(self):
        db.UserToken = MagicMock()

        # Call the function
        model = MagicMock()
        db.init_db(model)

        # Assert that table method has been called
        self.assertEquals(0, db.sa.Table.call_count)
        self.assertEquals(0, model.meta.mapper.call_count)
Beispiel #5
0
    def __init__(self, name=None):
        """Store the OAuth 2 client configuration"""
        log.debug("Init OAuth2 extension")

        self.verify_https = os.environ.get("OAUTHLIB_INSECURE_TRANSPORT",
                                           "") == ""

        if self.verify_https and os.environ.get("REQUESTS_CA_BUNDLE",
                                                "").strip() != "":
            self.verify_https = os.environ["REQUESTS_CA_BUNDLE"].strip()

        self.jwt_enable = os.environ.get(
            "CKAN_OAUTH2_JWT_ENABLE",
            toolkit.config.get("ckan.oauth2.jwt.enable",
                               "")).strip().lower() in ("true", "1", "on")

        self.authorization_endpoint = os.environ.get(
            "CKAN_OAUTH2_AUTHORIZATION_ENDPOINT",
            toolkit.config.get("ckan.oauth2.authorization_endpoint", ""),
        ).strip()

        self.token_endpoint = os.environ.get(
            "CKAN_OAUTH2_TOKEN_ENDPOINT",
            toolkit.config.get("ckan.oauth2.token_endpoint", ""),
        ).strip()

        self.profile_api_url = os.environ.get(
            "CKAN_OAUTH2_PROFILE_API_URL",
            toolkit.config.get("ckan.oauth2.profile_api_url", "")).strip()

        self.client_id = os.environ.get(
            "CKAN_OAUTH2_CLIENT_ID",
            toolkit.config.get("ckan.oauth2.client_id", "")).strip()

        self.client_secret = os.environ.get(
            "CKAN_OAUTH2_CLIENT_SECRET",
            toolkit.config.get("ckan.oauth2.client_secret", "")).strip()

        self.scope = os.environ.get(
            "CKAN_OAUTH2_SCOPE", toolkit.config.get("ckan.oauth2.scope",
                                                    "")).strip()

        self.rememberer_name = os.environ.get(
            "CKAN_OAUTH2_REMEMBER_NAME",
            toolkit.config.get("ckan.oauth2.rememberer_name", "auth_tkt"),
        ).strip()

        self.profile_api_user_field = os.environ.get(
            "CKAN_OAUTH2_PROFILE_API_USER_FIELD",
            toolkit.config.get("ckan.oauth2.profile_api_user_field", ""),
        ).strip()

        self.profile_api_fullname_field = os.environ.get(
            "CKAN_OAUTH2_PROFILE_API_FULLNAME_FIELD",
            toolkit.config.get("ckan.oauth2.profile_api_fullname_field", ""),
        ).strip()

        self.profile_api_mail_field = os.environ.get(
            "CKAN_OAUTH2_PROFILE_API_MAIL_FIELD",
            toolkit.config.get("ckan.oauth2.profile_api_mail_field", ""),
        ).strip()

        self.profile_api_groupmembership_field = os.environ.get(
            "CKAN_OAUTH2_PROFILE_API_GROUPMEMBERSHIP_FIELD",
            toolkit.config.get("ckan.oauth2.profile_api_groupmembership_field",
                               ""),
        ).strip()

        self.sysadmin_group_name = os.environ.get(
            "CKAN_OAUTH2_SYSADMIN_GROUP_NAME",
            toolkit.config.get("ckan.oauth2.sysadmin_group_name", ""),
        ).strip()

        self.redirect_uri = urljoin(
            urljoin(
                toolkit.config.get("ckan.site_url", "http://localhost:5000"),
                toolkit.config.get("ckan.root_path"),
            ),
            REDIRECT_URL,
        )

        # Init db
        db.init_db(model)

        missing = [
            key for key in REQUIRED_CONF if getattr(self, key, "") == ""
        ]
        if missing:
            raise ValueError("Missing required oauth2 conf: %s" %
                             ", ".join(missing))
        elif self.scope == "":
            self.scope = None
        """