├── .github └── workflows │ ├── python-package.yml │ └── pythonpublish.yml ├── .gitignore ├── LICENSE ├── README.md ├── example ├── example │ ├── __init__.py │ ├── items.py │ ├── middlewares.py │ ├── pipelines.py │ ├── settings.py │ └── spiders │ │ ├── __init__.py │ │ ├── olympus.py │ │ └── shopify.py ├── generic_rules.py ├── scrapy.cfg └── testmaster │ ├── __init__.py │ └── tests │ ├── __init__.py │ ├── olympus │ ├── __init__.py │ ├── parse │ │ ├── __init__.py │ │ ├── config.py │ │ ├── fixture1.bin │ │ ├── test_fixtures.py │ │ └── view.json │ ├── parse_info │ │ ├── __init__.py │ │ ├── config.py │ │ ├── fixture1.bin │ │ ├── fixture2.bin │ │ ├── fixture3.bin │ │ ├── test_fixtures.py │ │ └── view.json │ └── parse_login │ │ ├── __init__.py │ │ ├── config.py │ │ ├── fixture1.bin │ │ ├── test_fixtures.py │ │ └── view.json │ └── shopify │ ├── __init__.py │ └── parse_products │ ├── __init__.py │ ├── config.py │ ├── fixture1.bin │ ├── fixture10.bin │ ├── fixture2.bin │ ├── fixture3.bin │ ├── fixture4.bin │ ├── fixture5.bin │ ├── fixture6.bin │ ├── fixture7.bin │ ├── fixture8.bin │ ├── fixture9.bin │ ├── test_fixtures.py │ └── view.json ├── scrapy_testmaster ├── __init__.py ├── cli.py ├── config_doc.py ├── middleware.py ├── parse.py ├── utils.py └── utils_novel.py ├── setup.py ├── tests ├── __init__.py ├── shared.py ├── test_middleware.py ├── test_record.py ├── test_utils.py └── test_validation.py └── tox.ini /.github/workflows/python-package.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/.github/workflows/python-package.yml -------------------------------------------------------------------------------- /.github/workflows/pythonpublish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/.github/workflows/pythonpublish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/README.md -------------------------------------------------------------------------------- /example/example/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/example/items.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/example/items.py -------------------------------------------------------------------------------- /example/example/middlewares.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/example/middlewares.py -------------------------------------------------------------------------------- /example/example/pipelines.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/example/pipelines.py -------------------------------------------------------------------------------- /example/example/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/example/settings.py -------------------------------------------------------------------------------- /example/example/spiders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/example/spiders/__init__.py -------------------------------------------------------------------------------- /example/example/spiders/olympus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/example/spiders/olympus.py -------------------------------------------------------------------------------- /example/example/spiders/shopify.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/example/spiders/shopify.py -------------------------------------------------------------------------------- /example/generic_rules.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/generic_rules.py -------------------------------------------------------------------------------- /example/scrapy.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/scrapy.cfg -------------------------------------------------------------------------------- /example/testmaster/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse/config.py -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse/fixture1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse/fixture1.bin -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse/test_fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse/test_fixtures.py -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse/view.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse/view.json -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_info/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_info/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_info/config.py -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_info/fixture1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_info/fixture1.bin -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_info/fixture2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_info/fixture2.bin -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_info/fixture3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_info/fixture3.bin -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_info/test_fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_info/test_fixtures.py -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_info/view.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_info/view.json -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_login/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_login/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_login/config.py -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_login/fixture1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_login/fixture1.bin -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_login/test_fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_login/test_fixtures.py -------------------------------------------------------------------------------- /example/testmaster/tests/olympus/parse_login/view.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/olympus/parse_login/view.json -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/config.py -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture1.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture10.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture10.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture2.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture3.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture4.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture5.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture5.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture6.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture6.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture7.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture7.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture8.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture8.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/fixture9.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/fixture9.bin -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/test_fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/test_fixtures.py -------------------------------------------------------------------------------- /example/testmaster/tests/shopify/parse_products/view.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/example/testmaster/tests/shopify/parse_products/view.json -------------------------------------------------------------------------------- /scrapy_testmaster/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/scrapy_testmaster/__init__.py -------------------------------------------------------------------------------- /scrapy_testmaster/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/scrapy_testmaster/cli.py -------------------------------------------------------------------------------- /scrapy_testmaster/config_doc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/scrapy_testmaster/config_doc.py -------------------------------------------------------------------------------- /scrapy_testmaster/middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/scrapy_testmaster/middleware.py -------------------------------------------------------------------------------- /scrapy_testmaster/parse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/scrapy_testmaster/parse.py -------------------------------------------------------------------------------- /scrapy_testmaster/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/scrapy_testmaster/utils.py -------------------------------------------------------------------------------- /scrapy_testmaster/utils_novel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/scrapy_testmaster/utils_novel.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/shared.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/tests/shared.py -------------------------------------------------------------------------------- /tests/test_middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/tests/test_middleware.py -------------------------------------------------------------------------------- /tests/test_record.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/tests/test_record.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/test_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/tests/test_validation.py -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasAitken/Scrapy-Testmaster/HEAD/tox.ini --------------------------------------------------------------------------------