Beispiel #1
0
 def test_init_objects(self):
     self.assertEqual(Util.getServiceObject(json.dumps(self.oauthservice1)),
                      self.oauthservice1)
     svc1 = LoginService("MusterService", ["fileStorage"])
     self.assertEqual(Util.getServiceObject(json.dumps(svc1)), svc1)
     self.assertNotEqual(
         Util.getServiceObject(json.dumps(svc1)).__class__,
         self.oauthservice1.__class__)
     self.assertEqual(Util.getUserObject(json.dumps(self.user1)),
                      self.user1)
     self.assertEqual(Util.getTokenObject(json.dumps(self.token1)),
                      self.token1)
Beispiel #2
0
    def refreshService(self, service: Union[str, BaseService]) -> bool:
        try:
            servicename = service.servicename
        except:
            servicename = service

        response = requests.get(
            f"{self.address}/service/{servicename}",
            verify=(os.environ.get("VERIFY_SSL", "True") == "True"),
        )

        if response.status_code != 200:
            try:
                raise ServiceNotFoundError(service)
            except:
                raise ServiceNotFoundError(
                    BaseService(servicename=servicename,
                                implements=["metadata"]))

        svc = Util.getServiceObject(response.json())

        if not svc in self._services:
            self._services.append(svc)

        return svc
Beispiel #3
0
    def reloadInformations(self):
        """Updates all metadata informations from port.
        """

        json = requests.get("{}/service/{}".format(
            os.getenv("USE_CASE_SERVICE_PORT_SERVICE",
                      "{}/port-service".format(self.portaddress)),
            self.port)).json()

        logger.debug("reload metadata informations: got {}".format(json))

        svc = Util.getServiceObject(json["informations"])

        self.useZipForFolder = svc.fileTransferArchive == FileTransferArchive.zip
        self.fileTransferMode = svc.fileTransferMode
        self.fileTransferArchive = svc.fileTransferArchive

        if isinstance(svc, OAuth2Service):
            self.loginMode = 0
            self.credentials = svc.to_dict().get("credentials", {})
        else:
            self.loginMode = 1

        logger.debug("got svc: {}, loginmode: {}".format(
            svc.to_dict(), self.loginMode))
Beispiel #4
0
    def from_dict(cls, tokenDict: dict):
        """
        Returns a token object from a dict.
        """
        from RDS import Util

        return cls(
            Util.getUserObject(tokenDict["user"]),
            Util.getServiceObject(tokenDict["service"]),
            tokenDict["access_token"],
        )
Beispiel #5
0
    def refreshServices(self) -> bool:
        response = requests.get(
            f"{self.address}/service",
            verify=(os.environ.get("VERIFY_SSL", "True") == "True"),
        )
        data = response.json()
        services = [Util.getServiceObject(svc) for svc in data["list"]]

        if len(services) is not len(self._services):
            self._services = services
            return True
        return False
Beispiel #6
0
def post():
    data = request.json
    logger.debug("got: {}".format(data))
    svc = Util.getServiceObject(data)

    try:
        utility.storage.addService(svc)

    except ServiceExistsAlreadyError:
        return jsonify({"success": False, "message": "ServiceExistsAlreadyError"}), 200
    except:
        return jsonify({"success": False, "message": "BadRequest"}), 400

    return jsonify({"success": True})