Socket
Socket
Sign inDemoInstall

mock-open

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mock-open

A better mock for file I/O


Maintainers
1

Readme

mock-open

PyPI version Build Status GitHub license Maintenance PRs Welcome

A better mock for file I/O.

Install

$ pip install mock-open

class MockOpen

The MockOpen class should work as a stand-in replacement for mock.mock_open with some added features (though it tries to conform to how the builtin open works where the two differ):

  • Multiple file support, including a mapping-like access to file mocks by path:

    from mock_open import MockOpen
    mock_open = MockOpen()
    mock_open["/path/to/file"].read_data = "Data from a fake file-like object"
    mock_open["/path/to/bad_file"].side_effect = IOError()
    

    You can also configure behavior via the regular mock library API:

    mock_open = MockOpen()
    mock_open.return_value.write.side_effect = IOError()
    
  • Persistent file contents between calls to open:

    with patch("builtins.open", MockOpen()):
        with open("/path/to/file", "w") as handle:
            handle.write("Some text")
    
        with open("/path/to/file", "r") as handle:
            assert "Some text" == handle.read()
    
  • All the regular file operations: read, readline, readlines, write, writelines, seek, tell.

Acknowledgements

This library uses modified versions of tests from the CPython source code as part of its test suite. The original tests are licensed under the PSF license agreement and are copyright of the Python Software Foundation.

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc