def test_release(self, name, cleanup=False, timeout=REQUEST_TIMEOUT): """usage: RunReleaseTest executes the tests defined of a named release Args: :params - name(string) - release name :params - cleanup(bool) - delete test pods upon completion Returns: 返回测试安装的grpc响应对象 """ # build releaseTest request stub = ReleaseServiceStub(self.channel) test_release_request = TestReleaseRequest(name=name, cleanup=cleanup) return stub.RunReleaseTest(test_release_request, self.timeout, metadata=self.metadata)
def testing_release(self, release, timeout=300, cleanup=True): ''' :param release - name of release to test :param timeout - runtime before exiting :param cleanup - removes testing pod created :returns - results of test pod ''' try: stub = ReleaseServiceStub(self.channel) release_request = TestReleaseRequest(name=release, timeout=timeout, cleanup=cleanup) content = self.get_release_content(release) if not len(content.release.hooks): LOG.info('No test found') return False if content.release.hooks[0].events[0] == RUNTEST_SUCCESS: test = stub.RunReleaseTest(release_request, self.timeout, metadata=self.metadata) if test.running(): self.k8s.wait_get_completed_podphase(release) test.cancel() return self.get_release_status(release) except Exception: status = self.get_release_status(release) raise ex.ReleaseException(release, status, 'Test')