title: AttributeError: <module '__main__' from [..] does not have the attribute 'open'
body: <p>I'm working on writing a test for a module for <a href="https://github.com/docker/docker-py/pull/695" rel="nofollow">docker-py</a>, but I can't seem to get the test to work properly.</p>
  
  <p>The function I'm testing looks as follows:</p>
  
  <pre><code>def parse_env_file(env_file):
      """
      Reads a line-separated environment file.
      The format of each line should be "key=value".
      """
      environment = []
  
      if os.path.isfile(env_file):
          with open(env_file, 'r') as f:
              # We can't use f.readlines() here as it's not implemented in Mock
              for line in f.read().split('\n'):
                  parse_line = line.strip().split('=')
                  if len(parse_line) == 2 and line[0] != '#':
                      k = parse_line[0]
                      v = parse_line[1]
                      environment.append('{0}={1}'.format(k, v))
  
      return environment
  </code></pre>
  
  <p>The test then looks like this:</p>
  
  <pre><code>def test_parse_env_file_proper(self):
      with mock.patch('os.path.isfile', return_value=True):
          mock_env_file = 'USER=jdoe\nPASS=secret'
          with mock.patch('{}.open'.format(__name__), mock.mock_open(read_data=mock_env_file)):
              get_parse_env_file = parse_env_file('foobar')
      self.assertEqual(get_parse_env_file, ['USER=jdoe', 'PASS=secret'])
  </code></pre>
  
  <p>When I run the test however, I get the following error:</p>
  
  <pre><code>======================================================================
  ERROR: test_parse_env_file_proper (__main__.UtilsTest)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "tests/utils_test.py", line 102, in test_parse_env_file_proper
      with mock.patch('{}.open'.format(__name__), mock.mock_open(read_data=mock_env_file)):
    File "/Users/mvip/code/private/github/docker-py/.tox/py27/lib/python2.7/site-packages/mock.py", line 1268, in __enter__
      original, local = self.get_original()
    File "/Users/mvip/code/private/github/docker-py/.tox/py27/lib/python2.7/site-packages/mock.py", line 1242, in get_original
      "%s does not have the attribute %r" % (target, name)
  AttributeError: &lt;module '__main__' from 'tests/utils_test.py'&gt; does not have the attribute 'open'
  </code></pre>
  
  <p>Any pointers here would be helpful.</p>