def save(self, pkg_file): """ Save this package to *pkg_file*, where *file* can be either a path to a file (a string) or a file-like object. """ for part in self.parts: part.before_marshal() PackageWriter.write(pkg_file, self.rels, self.parts)
def it_can_write_a_package(self, PhysPkgWriter_, _write_methods): # mockery ---------------------- pkg_file = Mock(name='pkg_file') pkg_rels = Mock(name='pkg_rels') parts = Mock(name='parts') phys_writer = PhysPkgWriter_.return_value # exercise --------------------- PackageWriter.write(pkg_file, pkg_rels, parts) # verify ----------------------- expected_calls = [ call._write_content_types_stream(phys_writer, parts), call._write_pkg_rels(phys_writer, pkg_rels), call._write_parts(phys_writer, parts), ] PhysPkgWriter_.assert_called_once_with(pkg_file) assert _write_methods.mock_calls == expected_calls phys_writer.close.assert_called_once_with()