|  | @@ -474,9 +474,9 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  |          result = self.dispatch(['ps'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertIn('multiplecomposefiles_simple_1', result.stdout)
 | 
	
		
			
				|  |  | -        self.assertIn('multiplecomposefiles_another_1', result.stdout)
 | 
	
		
			
				|  |  | -        self.assertNotIn('multiplecomposefiles_yetanother_1', result.stdout)
 | 
	
		
			
				|  |  | +        assert 'multiplecomposefiles_simple_1' in result.stdout
 | 
	
		
			
				|  |  | +        assert 'multiplecomposefiles_another_1' in result.stdout
 | 
	
		
			
				|  |  | +        assert 'multiplecomposefiles_yetanother_1' not in result.stdout
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_ps_alternate_composefile(self):
 | 
	
		
			
				|  |  |          config_path = os.path.abspath(
 | 
	
	
		
			
				|  | @@ -487,9 +487,37 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['-f', 'compose2.yml', 'up', '-d'])
 | 
	
		
			
				|  |  |          result = self.dispatch(['-f', 'compose2.yml', 'ps'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertNotIn('multiplecomposefiles_simple_1', result.stdout)
 | 
	
		
			
				|  |  | -        self.assertNotIn('multiplecomposefiles_another_1', result.stdout)
 | 
	
		
			
				|  |  | -        self.assertIn('multiplecomposefiles_yetanother_1', result.stdout)
 | 
	
		
			
				|  |  | +        assert 'multiplecomposefiles_simple_1' not in result.stdout
 | 
	
		
			
				|  |  | +        assert 'multiplecomposefiles_another_1' not in result.stdout
 | 
	
		
			
				|  |  | +        assert 'multiplecomposefiles_yetanother_1' in result.stdout
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def test_ps_services_filter_option(self):
 | 
	
		
			
				|  |  | +        self.base_dir = 'tests/fixtures/ps-services-filter'
 | 
	
		
			
				|  |  | +        image = self.dispatch(['ps', '--services', '--filter', 'source=image'])
 | 
	
		
			
				|  |  | +        build = self.dispatch(['ps', '--services', '--filter', 'source=build'])
 | 
	
		
			
				|  |  | +        all_services = self.dispatch(['ps', '--services'])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        assert 'with_build' in all_services.stdout
 | 
	
		
			
				|  |  | +        assert 'with_image' in all_services.stdout
 | 
	
		
			
				|  |  | +        assert 'with_build' in build.stdout
 | 
	
		
			
				|  |  | +        assert 'with_build' not in image.stdout
 | 
	
		
			
				|  |  | +        assert 'with_image' in image.stdout
 | 
	
		
			
				|  |  | +        assert 'with_image' not in build.stdout
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def test_ps_services_filter_status(self):
 | 
	
		
			
				|  |  | +        self.base_dir = 'tests/fixtures/ps-services-filter'
 | 
	
		
			
				|  |  | +        self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  | +        self.dispatch(['pause', 'with_image'])
 | 
	
		
			
				|  |  | +        paused = self.dispatch(['ps', '--services', '--filter', 'status=paused'])
 | 
	
		
			
				|  |  | +        stopped = self.dispatch(['ps', '--services', '--filter', 'status=stopped'])
 | 
	
		
			
				|  |  | +        running = self.dispatch(['ps', '--services', '--filter', 'status=running'])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        assert 'with_build' not in stopped.stdout
 | 
	
		
			
				|  |  | +        assert 'with_image' not in stopped.stdout
 | 
	
		
			
				|  |  | +        assert 'with_build' not in paused.stdout
 | 
	
		
			
				|  |  | +        assert 'with_image' in paused.stdout
 | 
	
		
			
				|  |  | +        assert 'with_build' in running.stdout
 | 
	
		
			
				|  |  | +        assert 'with_image' in running.stdout
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_pull(self):
 | 
	
		
			
				|  |  |          result = self.dispatch(['pull'])
 | 
	
	
		
			
				|  | @@ -518,23 +546,26 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |                  'image library/nonexisting-image:latest not found' in result.stderr or
 | 
	
		
			
				|  |  |                  'pull access denied for nonexisting-image' in result.stderr)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    def test_pull_with_quiet(self):
 | 
	
		
			
				|  |  | +        assert self.dispatch(['pull', '--quiet']).stderr == ''
 | 
	
		
			
				|  |  | +        assert self.dispatch(['pull', '--quiet']).stdout == ''
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      def test_pull_with_parallel_failure(self):
 | 
	
		
			
				|  |  |          result = self.dispatch([
 | 
	
		
			
				|  |  |              '-f', 'ignore-pull-failures.yml', 'pull', '--parallel'],
 | 
	
		
			
				|  |  |              returncode=1
 | 
	
		
			
				|  |  |          )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertRegexpMatches(result.stderr, re.compile('^Pulling simple', re.MULTILINE))
 | 
	
		
			
				|  |  | -        self.assertRegexpMatches(result.stderr, re.compile('^Pulling another', re.MULTILINE))
 | 
	
		
			
				|  |  | -        self.assertRegexpMatches(result.stderr,
 | 
	
		
			
				|  |  | -                                 re.compile('^ERROR: for another .*does not exist.*', re.MULTILINE))
 | 
	
		
			
				|  |  | -        self.assertRegexpMatches(result.stderr,
 | 
	
		
			
				|  |  | -                                 re.compile('''^(ERROR: )?(b')?.* nonexisting-image''',
 | 
	
		
			
				|  |  | -                                            re.MULTILINE))
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def test_pull_with_quiet(self):
 | 
	
		
			
				|  |  | -        assert self.dispatch(['pull', '--quiet']).stderr == ''
 | 
	
		
			
				|  |  | -        assert self.dispatch(['pull', '--quiet']).stdout == ''
 | 
	
		
			
				|  |  | +        assert re.search(re.compile('^Pulling simple', re.MULTILINE), result.stderr)
 | 
	
		
			
				|  |  | +        assert re.search(re.compile('^Pulling another', re.MULTILINE), result.stderr)
 | 
	
		
			
				|  |  | +        assert re.search(
 | 
	
		
			
				|  |  | +            re.compile('^ERROR: for another .*does not exist.*', re.MULTILINE),
 | 
	
		
			
				|  |  | +            result.stderr
 | 
	
		
			
				|  |  | +        )
 | 
	
		
			
				|  |  | +        assert re.search(
 | 
	
		
			
				|  |  | +            re.compile('''^(ERROR: )?(b')?.* nonexisting-image''', re.MULTILINE),
 | 
	
		
			
				|  |  | +            result.stderr
 | 
	
		
			
				|  |  | +        )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_build_plain(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/simple-dockerfile'
 | 
	
	
		
			
				|  | @@ -573,7 +604,6 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          assert BUILD_CACHE_TEXT not in result.stdout
 | 
	
		
			
				|  |  |          assert BUILD_PULL_TEXT in result.stdout
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    @pytest.mark.xfail(reason='17.10.0 RC bug remove after GA https://github.com/moby/moby/issues/35116')
 | 
	
		
			
				|  |  |      def test_build_failed(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/simple-failing-dockerfile'
 | 
	
		
			
				|  |  |          self.dispatch(['build', 'simple'], returncode=1)
 | 
	
	
		
			
				|  | @@ -587,7 +617,6 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          ]
 | 
	
		
			
				|  |  |          assert len(containers) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    @pytest.mark.xfail(reason='17.10.0 RC bug remove after GA https://github.com/moby/moby/issues/35116')
 | 
	
		
			
				|  |  |      def test_build_failed_forcerm(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/simple-failing-dockerfile'
 | 
	
		
			
				|  |  |          self.dispatch(['build', '--force-rm', 'simple'], returncode=1)
 | 
	
	
		
			
				|  | @@ -809,36 +838,36 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |      def test_down_timeout(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |          ""
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['down', '-t', '1'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_down_signal(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/stop-signal-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['down', '-t', '1'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_detached(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  |          another = self.project.get_service('another')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(another.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(another.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Ensure containers don't have stdin and stdout connected in -d mode
 | 
	
		
			
				|  |  |          container, = service.containers()
 | 
	
		
			
				|  |  | -        self.assertFalse(container.get('Config.AttachStderr'))
 | 
	
		
			
				|  |  | -        self.assertFalse(container.get('Config.AttachStdout'))
 | 
	
		
			
				|  |  | -        self.assertFalse(container.get('Config.AttachStdin'))
 | 
	
		
			
				|  |  | +        assert not container.get('Config.AttachStderr')
 | 
	
		
			
				|  |  | +        assert not container.get('Config.AttachStdout')
 | 
	
		
			
				|  |  | +        assert not container.get('Config.AttachStdin')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_attached(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/echo-services'
 | 
	
	
		
			
				|  | @@ -858,7 +887,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          network_name = self.project.networks.networks['default'].full_name
 | 
	
		
			
				|  |  |          networks = self.client.networks(names=[network_name])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(networks), 1)
 | 
	
		
			
				|  |  | +        assert len(networks) == 1
 | 
	
		
			
				|  |  |          assert networks[0]['Driver'] == 'bridge' if not is_cluster(self.client) else 'overlay'
 | 
	
		
			
				|  |  |          assert 'com.docker.network.bridge.enable_icc' not in networks[0]['Options']
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -866,17 +895,17 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          for service in services:
 | 
	
		
			
				|  |  |              containers = service.containers()
 | 
	
		
			
				|  |  | -            self.assertEqual(len(containers), 1)
 | 
	
		
			
				|  |  | +            assert len(containers) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              container = containers[0]
 | 
	
		
			
				|  |  | -            self.assertIn(container.id, network['Containers'])
 | 
	
		
			
				|  |  | +            assert container.id in network['Containers']
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              networks = container.get('NetworkSettings.Networks')
 | 
	
		
			
				|  |  | -            self.assertEqual(list(networks), [network['Name']])
 | 
	
		
			
				|  |  | +            assert list(networks) == [network['Name']]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            self.assertEqual(
 | 
	
		
			
				|  |  | -                sorted(networks[network['Name']]['Aliases']),
 | 
	
		
			
				|  |  | -                sorted([service.name, container.short_id]))
 | 
	
		
			
				|  |  | +            assert sorted(networks[network['Name']]['Aliases']) == sorted(
 | 
	
		
			
				|  |  | +                [service.name, container.short_id]
 | 
	
		
			
				|  |  | +            )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              for service in services:
 | 
	
		
			
				|  |  |                  assert self.lookup(container, service.name)
 | 
	
	
		
			
				|  | @@ -1213,13 +1242,13 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          console = self.project.get_service('console')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # console was not started
 | 
	
		
			
				|  |  | -        self.assertEqual(len(web.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(db.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(console.containers()), 0)
 | 
	
		
			
				|  |  | +        assert len(web.containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(db.containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(console.containers()) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # web has links
 | 
	
		
			
				|  |  |          web_container = web.containers()[0]
 | 
	
		
			
				|  |  | -        self.assertTrue(web_container.get('HostConfig.Links'))
 | 
	
		
			
				|  |  | +        assert web_container.get('HostConfig.Links')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_with_net_is_invalid(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/net-container'
 | 
	
	
		
			
				|  | @@ -1241,8 +1270,9 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          foo = self.project.get_service('foo')
 | 
	
		
			
				|  |  |          foo_container = foo.containers()[0]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        assert foo_container.get('HostConfig.NetworkMode') == \
 | 
	
		
			
				|  |  | -            'container:{}'.format(bar_container.id)
 | 
	
		
			
				|  |  | +        assert foo_container.get('HostConfig.NetworkMode') == 'container:{}'.format(
 | 
	
		
			
				|  |  | +            bar_container.id
 | 
	
		
			
				|  |  | +        )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @v3_only()
 | 
	
		
			
				|  |  |      def test_up_with_healthcheck(self):
 | 
	
	
		
			
				|  | @@ -1294,46 +1324,55 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          web = self.project.get_service('web')
 | 
	
		
			
				|  |  |          db = self.project.get_service('db')
 | 
	
		
			
				|  |  |          console = self.project.get_service('console')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(web.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(db.containers()), 0)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(console.containers()), 0)
 | 
	
		
			
				|  |  | +        assert len(web.containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(db.containers()) == 0
 | 
	
		
			
				|  |  | +        assert len(console.containers()) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_with_force_recreate(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          old_ids = [c.id for c in service.containers()]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d', '--force-recreate'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          new_ids = [c.id for c in service.containers()]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertNotEqual(old_ids, new_ids)
 | 
	
		
			
				|  |  | +        assert old_ids != new_ids
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_with_no_recreate(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          old_ids = [c.id for c in service.containers()]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d', '--no-recreate'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          new_ids = [c.id for c in service.containers()]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(old_ids, new_ids)
 | 
	
		
			
				|  |  | +        assert old_ids == new_ids
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_with_force_recreate_and_no_recreate(self):
 | 
	
		
			
				|  |  |          self.dispatch(
 | 
	
		
			
				|  |  |              ['up', '-d', '--force-recreate', '--no-recreate'],
 | 
	
		
			
				|  |  |              returncode=1)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def test_up_with_timeout_detached(self):
 | 
	
		
			
				|  |  | -        result = self.dispatch(['up', '-d', '-t', '1'], returncode=1)
 | 
	
		
			
				|  |  | -        assert "-d and --timeout cannot be combined." in result.stderr
 | 
	
		
			
				|  |  | +    def test_up_with_timeout(self):
 | 
	
		
			
				|  |  | +        self.dispatch(['up', '-d', '-t', '1'])
 | 
	
		
			
				|  |  | +        service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | +        another = self.project.get_service('another')
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(another.containers()) == 1
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @mock.patch.dict(os.environ)
 | 
	
		
			
				|  |  | +    def test_up_with_ignore_remove_orphans(self):
 | 
	
		
			
				|  |  | +        os.environ["COMPOSE_IGNORE_ORPHANS"] = "True"
 | 
	
		
			
				|  |  | +        result = self.dispatch(['up', '-d', '--remove-orphans'], returncode=1)
 | 
	
		
			
				|  |  | +        assert "COMPOSE_IGNORE_ORPHANS and --remove-orphans cannot be combined." in result.stderr
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_handles_sigint(self):
 | 
	
		
			
				|  |  |          proc = start_process(self.base_dir, ['up', '-t', '2'])
 | 
	
	
		
			
				|  | @@ -1365,14 +1404,14 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          proc = start_process(self.base_dir, ['up', '--abort-on-container-exit'])
 | 
	
		
			
				|  |  |          wait_on_condition(ContainerCountCondition(self.project, 0))
 | 
	
		
			
				|  |  |          proc.wait()
 | 
	
		
			
				|  |  | -        self.assertEqual(proc.returncode, 0)
 | 
	
		
			
				|  |  | +        assert proc.returncode == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_handles_abort_on_container_exit_code(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/abort-on-container-exit-1'
 | 
	
		
			
				|  |  |          proc = start_process(self.base_dir, ['up', '--abort-on-container-exit'])
 | 
	
		
			
				|  |  |          wait_on_condition(ContainerCountCondition(self.project, 0))
 | 
	
		
			
				|  |  |          proc.wait()
 | 
	
		
			
				|  |  | -        self.assertEqual(proc.returncode, 1)
 | 
	
		
			
				|  |  | +        assert proc.returncode == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @v2_only()
 | 
	
		
			
				|  |  |      @no_cluster('Container PID mode does not work across clusters')
 | 
	
	
		
			
				|  | @@ -1403,27 +1442,27 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |      def test_exec_without_tty(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/links-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d', 'console'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(self.project.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(self.project.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          stdout, stderr = self.dispatch(['exec', '-T', 'console', 'ls', '-1d', '/'])
 | 
	
		
			
				|  |  | -        self.assertEqual(stderr, "")
 | 
	
		
			
				|  |  | -        self.assertEqual(stdout, "/\n")
 | 
	
		
			
				|  |  | +        assert stderr == ""
 | 
	
		
			
				|  |  | +        assert stdout == "/\n"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_exec_custom_user(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/links-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d', 'console'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(self.project.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(self.project.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          stdout, stderr = self.dispatch(['exec', '-T', '--user=operator', 'console', 'whoami'])
 | 
	
		
			
				|  |  | -        self.assertEqual(stdout, "operator\n")
 | 
	
		
			
				|  |  | -        self.assertEqual(stderr, "")
 | 
	
		
			
				|  |  | +        assert stdout == "operator\n"
 | 
	
		
			
				|  |  | +        assert stderr == ""
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @v2_2_only()
 | 
	
		
			
				|  |  |      def test_exec_service_with_environment_overridden(self):
 | 
	
		
			
				|  |  |          name = 'service'
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/environment-exec'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(self.project.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(self.project.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          stdout, stderr = self.dispatch([
 | 
	
		
			
				|  |  |              'exec',
 | 
	
	
		
			
				|  | @@ -1441,27 +1480,27 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          # added option from command line
 | 
	
		
			
				|  |  |          assert 'alpha=beta' in stdout
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(stderr, '')
 | 
	
		
			
				|  |  | +        assert stderr == ''
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_without_links(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/links-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['run', 'console', '/bin/true'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(self.project.containers()), 0)
 | 
	
		
			
				|  |  | +        assert len(self.project.containers()) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Ensure stdin/out was open
 | 
	
		
			
				|  |  |          container = self.project.containers(stopped=True, one_off=OneOffFilter.only)[0]
 | 
	
		
			
				|  |  |          config = container.inspect()['Config']
 | 
	
		
			
				|  |  | -        self.assertTrue(config['AttachStderr'])
 | 
	
		
			
				|  |  | -        self.assertTrue(config['AttachStdout'])
 | 
	
		
			
				|  |  | -        self.assertTrue(config['AttachStdin'])
 | 
	
		
			
				|  |  | +        assert config['AttachStderr']
 | 
	
		
			
				|  |  | +        assert config['AttachStdout']
 | 
	
		
			
				|  |  | +        assert config['AttachStdin']
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_with_links(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/links-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['run', 'web', '/bin/true'], None)
 | 
	
		
			
				|  |  |          db = self.project.get_service('db')
 | 
	
		
			
				|  |  |          console = self.project.get_service('console')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(db.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(console.containers()), 0)
 | 
	
		
			
				|  |  | +        assert len(db.containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(console.containers()) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @v2_only()
 | 
	
		
			
				|  |  |      def test_run_service_with_dependencies(self):
 | 
	
	
		
			
				|  | @@ -1469,8 +1508,8 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['run', 'web', '/bin/true'], None)
 | 
	
		
			
				|  |  |          db = self.project.get_service('db')
 | 
	
		
			
				|  |  |          console = self.project.get_service('console')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(db.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(console.containers()), 0)
 | 
	
		
			
				|  |  | +        assert len(db.containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(console.containers()) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_with_scaled_dependencies(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/v2-dependencies'
 | 
	
	
		
			
				|  | @@ -1487,22 +1526,22 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/links-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['run', '--no-deps', 'web', '/bin/true'])
 | 
	
		
			
				|  |  |          db = self.project.get_service('db')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(db.containers()), 0)
 | 
	
		
			
				|  |  | +        assert len(db.containers()) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_does_not_recreate_linked_containers(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/links-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d', 'db'])
 | 
	
		
			
				|  |  |          db = self.project.get_service('db')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(db.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(db.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          old_ids = [c.id for c in db.containers()]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['run', 'web', '/bin/true'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(db.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(db.containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          new_ids = [c.id for c in db.containers()]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(old_ids, new_ids)
 | 
	
		
			
				|  |  | +        assert old_ids == new_ids
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_without_command(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/commands-composefile'
 | 
	
	
		
			
				|  | @@ -1511,18 +1550,12 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['run', 'implicit'])
 | 
	
		
			
				|  |  |          service = self.project.get_service('implicit')
 | 
	
		
			
				|  |  |          containers = service.containers(stopped=True, one_off=OneOffFilter.only)
 | 
	
		
			
				|  |  | -        self.assertEqual(
 | 
	
		
			
				|  |  | -            [c.human_readable_command for c in containers],
 | 
	
		
			
				|  |  | -            [u'/bin/sh -c echo "success"'],
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | +        assert [c.human_readable_command for c in containers] == [u'/bin/sh -c echo "success"']
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['run', 'explicit'])
 | 
	
		
			
				|  |  |          service = self.project.get_service('explicit')
 | 
	
		
			
				|  |  |          containers = service.containers(stopped=True, one_off=OneOffFilter.only)
 | 
	
		
			
				|  |  | -        self.assertEqual(
 | 
	
		
			
				|  |  | -            [c.human_readable_command for c in containers],
 | 
	
		
			
				|  |  | -            [u'/bin/true'],
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | +        assert [c.human_readable_command for c in containers] == [u'/bin/true']
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @pytest.mark.skipif(SWARM_SKIP_RM_VOLUMES, reason='Swarm DELETE /containers/<id> bug')
 | 
	
		
			
				|  |  |      def test_run_rm(self):
 | 
	
	
		
			
				|  | @@ -1534,7 +1567,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |              'running'))
 | 
	
		
			
				|  |  |          service = self.project.get_service('test')
 | 
	
		
			
				|  |  |          containers = service.containers(one_off=OneOffFilter.only)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(containers), 1)
 | 
	
		
			
				|  |  | +        assert len(containers) == 1
 | 
	
		
			
				|  |  |          mounts = containers[0].get('Mounts')
 | 
	
		
			
				|  |  |          for mount in mounts:
 | 
	
		
			
				|  |  |              if mount['Destination'] == '/container-path':
 | 
	
	
		
			
				|  | @@ -1543,7 +1576,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          os.kill(proc.pid, signal.SIGINT)
 | 
	
		
			
				|  |  |          wait_on_process(proc, 1)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True, one_off=OneOffFilter.only)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True, one_off=OneOffFilter.only)) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          volumes = self.client.volumes()['Volumes']
 | 
	
		
			
				|  |  |          assert volumes is not None
 | 
	
	
		
			
				|  | @@ -1611,7 +1644,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['run', '--user={user}'.format(user=user), name], returncode=1)
 | 
	
		
			
				|  |  |          service = self.project.get_service(name)
 | 
	
		
			
				|  |  |          container = service.containers(stopped=True, one_off=OneOffFilter.only)[0]
 | 
	
		
			
				|  |  | -        self.assertEqual(user, container.get('Config.User'))
 | 
	
		
			
				|  |  | +        assert user == container.get('Config.User')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_with_user_overridden_short_form(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/user-composefile'
 | 
	
	
		
			
				|  | @@ -1620,7 +1653,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['run', '-u', user, name], returncode=1)
 | 
	
		
			
				|  |  |          service = self.project.get_service(name)
 | 
	
		
			
				|  |  |          container = service.containers(stopped=True, one_off=OneOffFilter.only)[0]
 | 
	
		
			
				|  |  | -        self.assertEqual(user, container.get('Config.User'))
 | 
	
		
			
				|  |  | +        assert user == container.get('Config.User')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_with_environment_overridden(self):
 | 
	
		
			
				|  |  |          name = 'service'
 | 
	
	
		
			
				|  | @@ -1635,13 +1668,13 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          service = self.project.get_service(name)
 | 
	
		
			
				|  |  |          container = service.containers(stopped=True, one_off=OneOffFilter.only)[0]
 | 
	
		
			
				|  |  |          # env overridden
 | 
	
		
			
				|  |  | -        self.assertEqual('notbar', container.environment['foo'])
 | 
	
		
			
				|  |  | +        assert 'notbar' == container.environment['foo']
 | 
	
		
			
				|  |  |          # keep environment from yaml
 | 
	
		
			
				|  |  | -        self.assertEqual('world', container.environment['hello'])
 | 
	
		
			
				|  |  | +        assert 'world' == container.environment['hello']
 | 
	
		
			
				|  |  |          # added option from command line
 | 
	
		
			
				|  |  | -        self.assertEqual('beta', container.environment['alpha'])
 | 
	
		
			
				|  |  | +        assert 'beta' == container.environment['alpha']
 | 
	
		
			
				|  |  |          # make sure a value with a = don't crash out
 | 
	
		
			
				|  |  | -        self.assertEqual('moto=bobo', container.environment['allo'])
 | 
	
		
			
				|  |  | +        assert 'moto=bobo' == container.environment['allo']
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_without_map_ports(self):
 | 
	
		
			
				|  |  |          # create one off container
 | 
	
	
		
			
				|  | @@ -1657,8 +1690,8 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          container.stop()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # check the ports
 | 
	
		
			
				|  |  | -        self.assertEqual(port_random, None)
 | 
	
		
			
				|  |  | -        self.assertEqual(port_assigned, None)
 | 
	
		
			
				|  |  | +        assert port_random is None
 | 
	
		
			
				|  |  | +        assert port_assigned is None
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_with_map_ports(self):
 | 
	
		
			
				|  |  |          # create one off container
 | 
	
	
		
			
				|  | @@ -1716,8 +1749,8 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          container.stop()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # check the ports
 | 
	
		
			
				|  |  | -        self.assertEqual(port_short, "127.0.0.1:30000")
 | 
	
		
			
				|  |  | -        self.assertEqual(port_full, "127.0.0.1:30001")
 | 
	
		
			
				|  |  | +        assert port_short == "127.0.0.1:30000"
 | 
	
		
			
				|  |  | +        assert port_full == "127.0.0.1:30001"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_with_expose_ports(self):
 | 
	
		
			
				|  |  |          # create one off container
 | 
	
	
		
			
				|  | @@ -1726,7 +1759,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          container = self.project.get_service('simple').containers(one_off=OneOffFilter.only)[0]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          ports = container.ports
 | 
	
		
			
				|  |  | -        self.assertEqual(len(ports), 9)
 | 
	
		
			
				|  |  | +        assert len(ports) == 9
 | 
	
		
			
				|  |  |          # exposed ports are not mapped to host ports
 | 
	
		
			
				|  |  |          assert ports['3000/tcp'] is None
 | 
	
		
			
				|  |  |          assert ports['3001/tcp'] is None
 | 
	
	
		
			
				|  | @@ -1748,7 +1781,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          service = self.project.get_service('service')
 | 
	
		
			
				|  |  |          container, = service.containers(stopped=True, one_off=OneOffFilter.only)
 | 
	
		
			
				|  |  | -        self.assertEqual(container.name, name)
 | 
	
		
			
				|  |  | +        assert container.name == name
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_with_workdir_overridden(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/run-workdir'
 | 
	
	
		
			
				|  | @@ -1757,7 +1790,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['run', '--workdir={workdir}'.format(workdir=workdir), name])
 | 
	
		
			
				|  |  |          service = self.project.get_service(name)
 | 
	
		
			
				|  |  |          container = service.containers(stopped=True, one_off=True)[0]
 | 
	
		
			
				|  |  | -        self.assertEqual(workdir, container.get('Config.WorkingDir'))
 | 
	
		
			
				|  |  | +        assert workdir == container.get('Config.WorkingDir')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_run_service_with_workdir_overridden_short_form(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/run-workdir'
 | 
	
	
		
			
				|  | @@ -1766,7 +1799,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['run', '-w', workdir, name])
 | 
	
		
			
				|  |  |          service = self.project.get_service(name)
 | 
	
		
			
				|  |  |          container = service.containers(stopped=True, one_off=True)[0]
 | 
	
		
			
				|  |  | -        self.assertEqual(workdir, container.get('Config.WorkingDir'))
 | 
	
		
			
				|  |  | +        assert workdir == container.get('Config.WorkingDir')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @v2_only()
 | 
	
		
			
				|  |  |      def test_run_interactive_connects_to_network(self):
 | 
	
	
		
			
				|  | @@ -1854,7 +1887,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          result = self.dispatch(['run', 'simple'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if six.PY2:  # Can't retrieve output on Py3. See issue #3670
 | 
	
		
			
				|  |  | -            assert value == result.stdout.strip()
 | 
	
		
			
				|  |  | +            assert value in result.stdout.strip()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          container = self.project.containers(one_off=OneOffFilter.only, stopped=True)[0]
 | 
	
		
			
				|  |  |          environment = container.get('Config.Env')
 | 
	
	
		
			
				|  | @@ -1887,19 +1920,19 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  |          service.create_container()
 | 
	
		
			
				|  |  |          kill_service(service)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  |          self.dispatch(['rm', '--force'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 0
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  |          service.create_container()
 | 
	
		
			
				|  |  |          kill_service(service)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  |          self.dispatch(['rm', '-f'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 0
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  |          service.create_container()
 | 
	
		
			
				|  |  |          self.dispatch(['rm', '-fs'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_rm_stop(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
	
		
			
				|  | @@ -1923,43 +1956,43 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          service.create_container(one_off=False)
 | 
	
		
			
				|  |  |          service.create_container(one_off=True)
 | 
	
		
			
				|  |  |          kill_service(service)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True, one_off=OneOffFilter.only)), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True, one_off=OneOffFilter.only)) == 1
 | 
	
		
			
				|  |  |          self.dispatch(['rm', '-f'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 0)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True, one_off=OneOffFilter.only)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 0
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True, one_off=OneOffFilter.only)) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          service.create_container(one_off=False)
 | 
	
		
			
				|  |  |          service.create_container(one_off=True)
 | 
	
		
			
				|  |  |          kill_service(service)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True, one_off=OneOffFilter.only)), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True, one_off=OneOffFilter.only)) == 1
 | 
	
		
			
				|  |  |          self.dispatch(['rm', '-f', '--all'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 0)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True, one_off=OneOffFilter.only)), 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 0
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True, one_off=OneOffFilter.only)) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_stop(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['stop', '-t', '1'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | -        self.assertFalse(service.containers(stopped=True)[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  | +        assert not service.containers(stopped=True)[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_stop_signal(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/stop-signal-composefile'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['stop', '-t', '1'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | -        self.assertFalse(service.containers(stopped=True)[0].is_running)
 | 
	
		
			
				|  |  | -        self.assertEqual(service.containers(stopped=True)[0].exit_code, 0)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  | +        assert not service.containers(stopped=True)[0].is_running
 | 
	
		
			
				|  |  | +        assert service.containers(stopped=True)[0].exit_code == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_start_no_containers(self):
 | 
	
		
			
				|  |  |          result = self.dispatch(['start'], returncode=1)
 | 
	
	
		
			
				|  | @@ -1971,39 +2004,39 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  |          simple = self.project.get_service('simple').containers()[0]
 | 
	
		
			
				|  |  |          log_config = simple.get('HostConfig.LogConfig')
 | 
	
		
			
				|  |  | -        self.assertTrue(log_config)
 | 
	
		
			
				|  |  | -        self.assertEqual(log_config.get('Type'), 'none')
 | 
	
		
			
				|  |  | +        assert log_config
 | 
	
		
			
				|  |  | +        assert log_config.get('Type') == 'none'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          another = self.project.get_service('another').containers()[0]
 | 
	
		
			
				|  |  |          log_config = another.get('HostConfig.LogConfig')
 | 
	
		
			
				|  |  | -        self.assertTrue(log_config)
 | 
	
		
			
				|  |  | -        self.assertEqual(log_config.get('Type'), 'json-file')
 | 
	
		
			
				|  |  | -        self.assertEqual(log_config.get('Config')['max-size'], '10m')
 | 
	
		
			
				|  |  | +        assert log_config
 | 
	
		
			
				|  |  | +        assert log_config.get('Type') == 'json-file'
 | 
	
		
			
				|  |  | +        assert log_config.get('Config')['max-size'] == '10m'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_logging_legacy(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/logging-composefile-legacy'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  |          simple = self.project.get_service('simple').containers()[0]
 | 
	
		
			
				|  |  |          log_config = simple.get('HostConfig.LogConfig')
 | 
	
		
			
				|  |  | -        self.assertTrue(log_config)
 | 
	
		
			
				|  |  | -        self.assertEqual(log_config.get('Type'), 'none')
 | 
	
		
			
				|  |  | +        assert log_config
 | 
	
		
			
				|  |  | +        assert log_config.get('Type') == 'none'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          another = self.project.get_service('another').containers()[0]
 | 
	
		
			
				|  |  |          log_config = another.get('HostConfig.LogConfig')
 | 
	
		
			
				|  |  | -        self.assertTrue(log_config)
 | 
	
		
			
				|  |  | -        self.assertEqual(log_config.get('Type'), 'json-file')
 | 
	
		
			
				|  |  | -        self.assertEqual(log_config.get('Config')['max-size'], '10m')
 | 
	
		
			
				|  |  | +        assert log_config
 | 
	
		
			
				|  |  | +        assert log_config.get('Type') == 'json-file'
 | 
	
		
			
				|  |  | +        assert log_config.get('Config')['max-size'] == '10m'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_pause_unpause(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertFalse(service.containers()[0].is_paused)
 | 
	
		
			
				|  |  | +        assert not service.containers()[0].is_paused
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['pause'], None)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_paused)
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_paused
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['unpause'], None)
 | 
	
		
			
				|  |  | -        self.assertFalse(service.containers()[0].is_paused)
 | 
	
		
			
				|  |  | +        assert not service.containers()[0].is_paused
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_pause_no_containers(self):
 | 
	
		
			
				|  |  |          result = self.dispatch(['pause'], returncode=1)
 | 
	
	
		
			
				|  | @@ -2077,7 +2110,7 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          result = self.dispatch(['logs', '-f', '-t'])
 | 
	
		
			
				|  |  | -        self.assertRegexpMatches(result.stdout, '(\d{4})-(\d{2})-(\d{2})T(\d{2})\:(\d{2})\:(\d{2})')
 | 
	
		
			
				|  |  | +        assert re.search('(\d{4})-(\d{2})-(\d{2})T(\d{2})\:(\d{2})\:(\d{2})', result.stdout)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_logs_tail(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/logs-tail-composefile'
 | 
	
	
		
			
				|  | @@ -2092,36 +2125,36 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |      def test_kill(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['kill'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | -        self.assertFalse(service.containers(stopped=True)[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  | +        assert not service.containers(stopped=True)[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_kill_signal_sigstop(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['kill', '-s', 'SIGSTOP'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers()) == 1
 | 
	
		
			
				|  |  |          # The container is still running. It has only been paused
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_kill_stopped_service(self):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  |          self.dispatch(['kill', '-s', 'SIGSTOP'], None)
 | 
	
		
			
				|  |  | -        self.assertTrue(service.containers()[0].is_running)
 | 
	
		
			
				|  |  | +        assert service.containers()[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['kill', '-s', 'SIGKILL'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | -        self.assertFalse(service.containers(stopped=True)[0].is_running)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  | +        assert not service.containers(stopped=True)[0].is_running
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_restart(self):
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
	
		
			
				|  | @@ -2130,23 +2163,17 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          started_at = container.dictionary['State']['StartedAt']
 | 
	
		
			
				|  |  |          self.dispatch(['restart', '-t', '1'], None)
 | 
	
		
			
				|  |  |          container.inspect()
 | 
	
		
			
				|  |  | -        self.assertNotEqual(
 | 
	
		
			
				|  |  | -            container.dictionary['State']['FinishedAt'],
 | 
	
		
			
				|  |  | -            '0001-01-01T00:00:00Z',
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | -        self.assertNotEqual(
 | 
	
		
			
				|  |  | -            container.dictionary['State']['StartedAt'],
 | 
	
		
			
				|  |  | -            started_at,
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | +        assert container.dictionary['State']['FinishedAt'] != '0001-01-01T00:00:00Z'
 | 
	
		
			
				|  |  | +        assert container.dictionary['State']['StartedAt'] != started_at
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_restart_stopped_container(self):
 | 
	
		
			
				|  |  |          service = self.project.get_service('simple')
 | 
	
		
			
				|  |  |          container = service.create_container()
 | 
	
		
			
				|  |  |          container.start()
 | 
	
		
			
				|  |  |          container.kill()
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=True)), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=True)) == 1
 | 
	
		
			
				|  |  |          self.dispatch(['restart', '-t', '1'], None)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(service.containers(stopped=False)), 1)
 | 
	
		
			
				|  |  | +        assert len(service.containers(stopped=False)) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_restart_no_containers(self):
 | 
	
		
			
				|  |  |          result = self.dispatch(['restart'], returncode=1)
 | 
	
	
		
			
				|  | @@ -2156,23 +2183,23 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          project = self.project
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['scale', 'simple=1'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('simple').containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(project.get_service('simple').containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['scale', 'simple=3', 'another=2'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('simple').containers()), 3)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('another').containers()), 2)
 | 
	
		
			
				|  |  | +        assert len(project.get_service('simple').containers()) == 3
 | 
	
		
			
				|  |  | +        assert len(project.get_service('another').containers()) == 2
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['scale', 'simple=1', 'another=1'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('simple').containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('another').containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(project.get_service('simple').containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(project.get_service('another').containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['scale', 'simple=1', 'another=1'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('simple').containers()), 1)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('another').containers()), 1)
 | 
	
		
			
				|  |  | +        assert len(project.get_service('simple').containers()) == 1
 | 
	
		
			
				|  |  | +        assert len(project.get_service('another').containers()) == 1
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.dispatch(['scale', 'simple=0', 'another=0'])
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('simple').containers()), 0)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(project.get_service('another').containers()), 0)
 | 
	
		
			
				|  |  | +        assert len(project.get_service('simple').containers()) == 0
 | 
	
		
			
				|  |  | +        assert len(project.get_service('another').containers()) == 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_scale_v2_2(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/scale'
 | 
	
	
		
			
				|  | @@ -2267,10 +2294,10 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |                  result = self.dispatch(['port', '--index=' + str(index), 'simple', str(number)])
 | 
	
		
			
				|  |  |              return result.stdout.rstrip()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(get_port(3000), containers[0].get_local_port(3000))
 | 
	
		
			
				|  |  | -        self.assertEqual(get_port(3000, index=1), containers[0].get_local_port(3000))
 | 
	
		
			
				|  |  | -        self.assertEqual(get_port(3000, index=2), containers[1].get_local_port(3000))
 | 
	
		
			
				|  |  | -        self.assertEqual(get_port(3002), "")
 | 
	
		
			
				|  |  | +        assert get_port(3000) == containers[0].get_local_port(3000)
 | 
	
		
			
				|  |  | +        assert get_port(3000, index=1) == containers[0].get_local_port(3000)
 | 
	
		
			
				|  |  | +        assert get_port(3000, index=2) == containers[1].get_local_port(3000)
 | 
	
		
			
				|  |  | +        assert get_port(3002) == ""
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_events_json(self):
 | 
	
		
			
				|  |  |          events_proc = start_process(self.base_dir, ['events', '--json'])
 | 
	
	
		
			
				|  | @@ -2321,8 +2348,8 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self._project = get_project(self.base_dir, [config_path])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          containers = self.project.containers(stopped=True)
 | 
	
		
			
				|  |  | -        self.assertEqual(len(containers), 1)
 | 
	
		
			
				|  |  | -        self.assertIn("FOO=1", containers[0].get('Config.Env'))
 | 
	
		
			
				|  |  | +        assert len(containers) == 1
 | 
	
		
			
				|  |  | +        assert "FOO=1" in containers[0].get('Config.Env')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @mock.patch.dict(os.environ)
 | 
	
		
			
				|  |  |      def test_home_and_env_var_in_volume_path(self):
 | 
	
	
		
			
				|  | @@ -2342,11 +2369,11 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          containers = self.project.containers()
 | 
	
		
			
				|  |  | -        self.assertEqual(len(containers), 2)
 | 
	
		
			
				|  |  | +        assert len(containers) == 2
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          web, db = containers
 | 
	
		
			
				|  |  | -        self.assertEqual(web.human_readable_command, 'top')
 | 
	
		
			
				|  |  | -        self.assertEqual(db.human_readable_command, 'top')
 | 
	
		
			
				|  |  | +        assert web.human_readable_command == 'top'
 | 
	
		
			
				|  |  | +        assert db.human_readable_command == 'top'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_with_multiple_files(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/override-files'
 | 
	
	
		
			
				|  | @@ -2366,21 +2393,18 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |              None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          containers = self.project.containers()
 | 
	
		
			
				|  |  | -        self.assertEqual(len(containers), 3)
 | 
	
		
			
				|  |  | +        assert len(containers) == 3
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          web, other, db = containers
 | 
	
		
			
				|  |  | -        self.assertEqual(web.human_readable_command, 'top')
 | 
	
		
			
				|  |  | -        self.assertEqual(db.human_readable_command, 'top')
 | 
	
		
			
				|  |  | -        self.assertEqual(other.human_readable_command, 'top')
 | 
	
		
			
				|  |  | +        assert web.human_readable_command == 'top'
 | 
	
		
			
				|  |  | +        assert db.human_readable_command == 'top'
 | 
	
		
			
				|  |  | +        assert other.human_readable_command == 'top'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_with_extends(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/extends'
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(
 | 
	
		
			
				|  |  | -            set([s.name for s in self.project.services]),
 | 
	
		
			
				|  |  | -            set(['mydb', 'myweb']),
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | +        assert set([s.name for s in self.project.services]) == set(['mydb', 'myweb'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          # Sort by name so we get [db, web]
 | 
	
		
			
				|  |  |          containers = sorted(
 | 
	
	
		
			
				|  | @@ -2388,19 +2412,17 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |              key=lambda c: c.name,
 | 
	
		
			
				|  |  |          )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(len(containers), 2)
 | 
	
		
			
				|  |  | +        assert len(containers) == 2
 | 
	
		
			
				|  |  |          web = containers[1]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertEqual(
 | 
	
		
			
				|  |  | -            set(get_links(web)),
 | 
	
		
			
				|  |  | -            set(['db', 'mydb_1', 'extends_mydb_1']))
 | 
	
		
			
				|  |  | +        assert set(get_links(web)) == set(['db', 'mydb_1', 'extends_mydb_1'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          expected_env = set([
 | 
	
		
			
				|  |  |              "FOO=1",
 | 
	
		
			
				|  |  |              "BAR=2",
 | 
	
		
			
				|  |  |              "BAZ=2",
 | 
	
		
			
				|  |  |          ])
 | 
	
		
			
				|  |  | -        self.assertTrue(expected_env <= set(web.get('Config.Env')))
 | 
	
		
			
				|  |  | +        assert expected_env <= set(web.get('Config.Env'))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_top_services_not_running(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/top'
 | 
	
	
		
			
				|  | @@ -2412,9 +2434,9 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'])
 | 
	
		
			
				|  |  |          result = self.dispatch(['top'])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        self.assertIn('top_service_a', result.stdout)
 | 
	
		
			
				|  |  | -        self.assertIn('top_service_b', result.stdout)
 | 
	
		
			
				|  |  | -        self.assertNotIn('top_not_a_service', result.stdout)
 | 
	
		
			
				|  |  | +        assert 'top_service_a' in result.stdout
 | 
	
		
			
				|  |  | +        assert 'top_service_b' in result.stdout
 | 
	
		
			
				|  |  | +        assert 'top_not_a_service' not in result.stdout
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_top_processes_running(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/top'
 | 
	
	
		
			
				|  | @@ -2473,14 +2495,14 @@ class CLITestCase(DockerClientTestCase):
 | 
	
		
			
				|  |  |          self.dispatch(['up', '-d'], None)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          containers = self.project.containers()
 | 
	
		
			
				|  |  | -        self.assertEqual(len(containers), 2)
 | 
	
		
			
				|  |  | +        assert len(containers) == 2
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          web, db = containers
 | 
	
		
			
				|  |  | -        self.assertEqual(web.human_readable_command, 'sleep 100')
 | 
	
		
			
				|  |  | -        self.assertEqual(db.human_readable_command, 'top')
 | 
	
		
			
				|  |  | +        assert web.human_readable_command == 'sleep 100'
 | 
	
		
			
				|  |  | +        assert db.human_readable_command == 'top'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def test_up_with_duplicate_override_yaml_files(self):
 | 
	
		
			
				|  |  |          self.base_dir = 'tests/fixtures/duplicate-override-yaml-files'
 | 
	
		
			
				|  |  | -        with self.assertRaises(DuplicateOverrideFileFound):
 | 
	
		
			
				|  |  | +        with pytest.raises(DuplicateOverrideFileFound):
 | 
	
		
			
				|  |  |              get_project(self.base_dir, [])
 | 
	
		
			
				|  |  |          self.base_dir = None
 |