
Research
Malicious fezbox npm Package Steals Browser Passwords from Cookies via Innovative QR Code Steganographic Technique
A malicious package uses a QR code as steganography in an innovative technique.
A test framework for Python that makes mocking and iterating over code with tests a breeze
A test framework for Python that enable unit testing / TDD / BDD to be productive and enjoyable.
Its well behaved mocks with thorough API validations catches bugs both when code is first written or long in the future when it is changed.
The flexibility of using them with existing unittest.TestCase
or TestSlide's own test runner let users get its benefits without requiring refactoring existing code.
Install:
pip install TestSlide
Scaffold the code you want to test backup.py
:
class Backup:
def delete(self, path):
pass
Write a test case backup_test.py
describing the expected behavior:
import testslide, backup, storage
class TestBackupDelete(testslide.TestCase):
def setUp(self):
super().setUp()
self.storage_mock = testslide.StrictMock(storage.Client)
# Makes storage.Client(timeout=60) return self.storage_mock
self.mock_constructor(storage, 'Client')\
.for_call(timeout=60)\
.to_return_value(self.storage_mock)
def test_delete_from_storage(self):
# Set behavior and assertion for the call at the mock
self.mock_callable(self.storage_mock, 'delete')\
.for_call('/file/to/delete')\
.to_return_value(True)\
.and_assert_called_once()
backup.Backup().delete('/file/to/delete')
TestSlide's StrictMock
, mock_constructor()
and mock_callable()
are seamlessly integrated with Python's TestCase.
Run the test and see the failure:
TestSlide's mocks failure messages guide you towards the solution, that you can now implement:
import storage
class Backup:
def __init__(self):
self.storage = storage.Client(timeout=60)
def delete(self, path):
self.storage.delete(path)
And watch the test go green:
It is all about letting the failure messages guide you towards the solution. There's a plethora of validation inside TestSlide's mocks, so you can trust they will help you iterate quickly when writing code and also cover you when breaking changes are introduced.
There's a lot more that TestSlide can offer, please check the full documentation at https://testslide.readthedocs.io/ to learn more.
TestSlide is open source software, contributions are very welcome!
See the CONTRIBUTING file for how to help out.
TestSlide is MIT licensed, as found in the LICENSE file.
https://opensource.facebook.com/legal/terms
https://opensource.facebook.com/legal/privacy
Copyright © 2021 Meta Platforms, Inc
FAQs
A test framework for Python that makes mocking and iterating over code with tests a breeze
We found that TestSlide demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
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.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.
Application Security
/Research
/Security News
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.