code: def test_compose_push(arrow_compose_path):
      compose = DockerCompose(
          arrow_compose_path, params=dict(PYTHON="3.9")
      )
      expected_env = PartialEnv(PYTHON="3.9")
      expected_calls = [
          mock.call(
              ["docker", "login", "-u", "user", "-p", "pass"],
              check=True,
          ),
      ]
      for image in ["conda-cpp", "conda-python", "conda-python-pandas"]:
          expected_calls.append(
              mock.call(
                  [
                      "docker-compose",
                      "--file",
                      str(compose.config.path),
                      "push",
                      image,
                  ],
                  check=True,
                  env=expected_env,
              )
          )
      with assert_subprocess_calls(expected_calls):
          compose.push(
              "conda-python-pandas", user="user", password="pass"
          )
  
imports: import collections
  import os
  import re
  import subprocess
  from unittest import mock
  import pytest
  from archery.docker import DockerCompose
  from archery.testing import assert_subprocess_calls, override_env, PartialEnv
label_desc: Use image node_id 17 for calling a global function with example usage: test_compose_push(arrow_compose_path) without return types