Esempio n. 1
0
 def private_locations(self):
     """
     :rtype: BZAObjectsList[BZAObject]
     """
     params = {"workspaceId": self['id']}
     res = self._request(self.address + '/api/v4/private-locations?' + urlencode(params))
     return BZAObjectsList([BZAObject(self, x) for x in res['result']])
Esempio n. 2
0
    def get_kpis(self, min_ts):
        params = [
            ("interval", 1),
            ("from", min_ts),
            ("master_ids[]", self['id']),
        ]
        for item in ('t', 'lt', 'by', 'n', 'ec', 'ts', 'na'):
            params.append(("kpis[]", item))

        labels = self.get_labels()[:100]
        if len(labels) == 100 and not self.warned_of_too_much_labels:
            self.log.warn("Using only first 100 labels, while test has more labels")
            self.warned_of_too_much_labels = True

        for label in labels:
            params.append(("labels[]", label['id']))

        url = self.address + "/api/v4/data/kpis?" + urlencode(params)
        res = self._request(url)
        return res['result']
Esempio n. 3
0
    def projects(self, name=None, ident=None):
        """
        :rtype: BZAObjectsList[Project]
        """
        params = OrderedDict()
        params.update({"workspaceId": self['id']})
        if name:
            params.update({"name": name})
        res = self._request(self.address + '/api/v4/projects?' + urlencode(params))

        projects = BZAObjectsList()
        for item in res['result']:
            if name is not None and item['name'] != name:
                continue

            if ident is not None and item['id'] != ident:
                continue

            projects.append(Project(self, item))
        return BZAObjectsList(projects)
Esempio n. 4
0
    def multi_tests(self, name=None, ident=None):
        """
        :rtype: BZAObjectsList[MultiTest]
        """
        params = OrderedDict({"projectId": self['id']})
        if name is not None:
            params["name"] = name
        if ident is not None:
            params["id"] = ident

        res = self._request(self.address + '/api/v4/multi-tests?' + urlencode(params))
        tests = BZAObjectsList()
        for item in res['result']:
            if ident is not None and item['id'] != ident:
                continue

            if name is not None and item['name'] != name:
                continue

            tests.append(MultiTest(self, item))
        return tests
Esempio n. 5
0
    def workspaces(self, ident=None, name=None):
        """
        :rtype: BZAObjectsList[Workspace]
        """
        params = {"accountId": self['id'], 'enabled': 'true', 'limit': 100}
        params = OrderedDict(sorted(params.items(), key=lambda t: t[0]))
        res = self._request(self.address + '/api/v4/workspaces?' + urlencode(params))
        workspaces = []
        for wksp in res['result']:
            if not wksp['enabled']:
                continue

            if name is not None and wksp['name'] != name:
                continue

            if ident is not None and wksp['id'] != ident:
                continue

            workspaces.append(Workspace(self, wksp))

        return BZAObjectsList(workspaces)
Esempio n. 6
0
    def tests(self, name=None, ident=None, test_type=None):
        """
        :rtype: BZAObjectsList[Test]
        """
        params = OrderedDict({"workspaceId": self['id']})
        if name is not None:
            params["name"] = name
        if ident is not None:
            params["id"] = ident

        res = self._request(self.address + '/api/v4/tests?' + urlencode(params))
        tests = BZAObjectsList()
        for item in res['result']:
            if ident is not None and item['id'] != ident:
                continue

            if name is not None and item['name'] != name:
                continue

            if test_type is not None and item['configuration']['type'] != test_type:
                continue

            tests.append(Test(self, item))
        return tests
Esempio n. 7
0
 def get_labels(self, ):
     url = self.address + "/api/v4/data/labels?" + urlencode({'master_id': self['id']})
     res = self._request(url)
     return res['result']
Esempio n. 8
0
 def get_files(self):
     path = self.address + "/api/v4/web/elfinder/%s" % self['id']
     query = urlencode(OrderedDict({'cmd': 'open', 'target': 's1_Lw'}))
     url = path + '?' + query
     response = self._request(url)
     return response["files"]