def GetImageInfo(imageName):
    terminalCommand = "docker inspect " + imageName
    info = str(
        TerminalTools.ExecuteTerminalCommandAndGetOutput(
            terminalCommand).decode("utf-8"))
    jsonInfo = json.loads(info)[0]
    return jsonInfo
def GetImageId(imageName):
    terminalCommand = "docker inspect --format=\"{{.Id}}\" " + imageName
    imageId = str(
        TerminalTools.ExecuteTerminalCommandAndGetOutput(
            terminalCommand).decode("utf-8")).replace('\n', '')
    return imageId
def GetImageRepoDigest(imageName):
    terminalCommand = "docker inspect --format=\"{{index .RepoDigests 0}}\" " + imageName
    repoDigest = str(
        TerminalTools.ExecuteTerminalCommandAndGetOutput(
            terminalCommand).decode("utf-8")).replace('\n', '')
    return repoDigest
def GetContainerRunningCode(containerName):
    terminalCommand = "docker inspect " + \
        containerName + " --format='{{.State.Running}}'"
    output = TerminalTools.ExecuteTerminalCommandAndGetOutput(terminalCommand)
    running = bool(re.search('true', str(output).lower()))
    return running
def GetContainerExitCode(containerName):
    terminalCommand = "docker inspect " + containerName + " --format='{{.State.ExitCode}}'"
    output = TerminalTools.ExecuteTerminalCommandAndGetOutput(terminalCommand)
    exitCode = TerminalTools.GetNumbersFromString(output)[0]
    return int(exitCode)
def GetLogsFromContainer(containerName):
    terminalCommand = 'docker logs {0}'.format(containerName)
    logs = str(
        TerminalTools.ExecuteTerminalCommandAndGetOutput(
            terminalCommand, includeErrorOutput=True).decode("utf-8"))
    return logs
 def test_ExecuteTerminalCommandAndGetOutput(self):
     cmd = 'docker --version'
     version = TerminalTools.ExecuteTerminalCommandAndGetOutput(cmd)
     print(version)
     self.assertTrue('version' in str(version).lower())