| 116 | ) |
| 117 | |
| 118 | def testSignOptionalFiles(self, site): |
| 119 | for hash in list(site.content_manager.hashfield): |
| 120 | site.content_manager.hashfield.remove(hash) |
| 121 | |
| 122 | assert len(site.content_manager.hashfield) == 0 |
| 123 | |
| 124 | site.content_manager.contents["content.json"]["optional"] = "((data/img/zero.*))" |
| 125 | content_optional = site.content_manager.sign(privatekey=self.privatekey, filewrite=False, remove_missing_optional=True) |
| 126 | |
| 127 | del site.content_manager.contents["content.json"]["optional"] |
| 128 | content_nooptional = site.content_manager.sign(privatekey=self.privatekey, filewrite=False, remove_missing_optional=True) |
| 129 | |
| 130 | assert len(content_nooptional.get("files_optional", {})) == 0 # No optional files if no pattern |
| 131 | assert len(content_optional["files_optional"]) > 0 |
| 132 | assert len(site.content_manager.hashfield) == len(content_optional["files_optional"]) # Hashed optional files should be added to hashfield |
| 133 | assert len(content_nooptional["files"]) > len(content_optional["files"]) |
| 134 | |
| 135 | def testFileInfo(self, site): |
| 136 | assert "sha512" in site.content_manager.getFileInfo("index.html") |