def METHOD_NAME(self):
    elapsed = datetime.now() - self.time_start
    if elapsed.total_seconds() > self.options["timeout"]:
        raise CumulusCIException(
            f'Sharing enablement not completed after {self.options["timeout"]} seconds'
        )
    for sobject in self.owds:
        # The Tooling API requires that we use fully-qualified sObject names in namespaced scratch orgs.
        # However, the Metadata API requires no namespaces in that context.
        # Dynamically inject the namespace if required.
        real_api_name = (
            f"{self.project_config.project__package__namespace}__{sobject}"
            if self.org_config.namespaced and sobject.count("__") == 1
            else sobject
        )
        result = self.sf.query(
            f"SELECT ExternalSharingModel, InternalSharingModel "
            f"FROM EntityDefinition "
            f"WHERE QualifiedApiName = '{real_api_name}'"
        )
        if result["totalSize"] == 1:
            record = result["records"][0]
            if (
                self.owds[sobject]["internal_sharing_model"]
                and record["InternalSharingModel"]
                != self.owds[sobject]["internal_sharing_model"]
            ) or (
                self.owds[sobject]["external_sharing_model"]
                and record["ExternalSharingModel"]
                != self.owds[sobject]["external_sharing_model"]
            ):
                return
        else:
            raise CumulusCIException("Unable to determine sharing model")
    self.poll_complete = True