def test_checksum_locked_cell_type(self, preprocessor): """Test that the checksum is computed for locked cells""" cell1 = create_locked_cell("", "code", "foo") cell1 = preprocessor.preprocess_cell(cell1, {}, 0)[0] cell2 = create_locked_cell("", "markdown", "foo") cell2 = preprocessor.preprocess_cell(cell2, {}, 0)[0] assert cell1.metadata.nbgrader["checksum"] == compute_checksum(cell1) assert cell2.metadata.nbgrader["checksum"] == compute_checksum(cell2) assert cell1.metadata.nbgrader["checksum"] != cell2.metadata.nbgrader["checksum"]
def test_checksum_locked_cell_type(self, preprocessor): """Test that the checksum is computed for locked cells""" cell1 = create_locked_cell("", "code", "foo") cell1 = preprocessor.preprocess_cell(cell1, {}, 0)[0] cell2 = create_locked_cell("", "markdown", "foo") cell2 = preprocessor.preprocess_cell(cell2, {}, 0)[0] assert cell1.metadata.nbgrader["checksum"] == compute_checksum(cell1) assert cell2.metadata.nbgrader["checksum"] == compute_checksum(cell2) assert cell1.metadata.nbgrader["checksum"] != cell2.metadata.nbgrader[ "checksum"]
def test_duplicate_locked_cell(self, preprocessor): cell1 = create_locked_cell("hello", "code", "foo") cell2 = create_locked_cell("goodbye", "code", "foo") nb = new_notebook() nb.cells.append(cell1) nb.cells.append(cell2) nb, resources = preprocessor.preprocess(nb, {}) assert nb.cells[0].metadata.nbgrader == {} assert nb.cells[1].metadata.nbgrader != {}
def test_overwrite_locked_source_markdown(self, preprocessors, resources): """Is the source overwritten for locked markdown cells?""" cell = create_locked_cell("hello", "markdown", "foo") cell.metadata.nbgrader["checksum"] = compute_checksum(cell) nb = new_notebook() nb.cells.append(cell) nb, resources = preprocessors[0].preprocess(nb, resources) cell.source = "hello!" nb, resources = preprocessors[1].preprocess(nb, resources) assert cell.source == "hello"
def test_overwrite_locked_checksum(self, preprocessors, resources): """Is the checksum overwritten for locked cells?""" cell = create_locked_cell("hello", "code", "foo") cell.metadata.nbgrader["checksum"] = compute_checksum(cell) nb = new_notebook() nb.cells.append(cell) nb, resources = preprocessors[0].preprocess(nb, resources) cell.metadata.nbgrader["checksum"] = "1234" nb, resources = preprocessors[1].preprocess(nb, resources) assert cell.metadata.nbgrader["checksum"] == compute_checksum(cell)
def test_overwrite_locked_cell_type(self, preprocessors, resources): """Is the cell type overwritten for locked cells?""" cell = create_locked_cell("hello", "code", "foo") cell.metadata.nbgrader['checksum'] = compute_checksum(cell) nb = new_notebook() nb.cells.append(cell) nb, resources = preprocessors[0].preprocess(nb, resources) cell.cell_type = "markdown" nb, resources = preprocessors[1].preprocess(nb, resources) assert cell.cell_type == "code"
def test_overwrite_locked_source_markdown(self, preprocessors, resources): """Is the source overwritten for locked markdown cells?""" cell = create_locked_cell("hello", "markdown", "foo") cell.metadata.nbgrader['checksum'] = compute_checksum(cell) nb = new_notebook() nb.cells.append(cell) nb, resources = preprocessors[0].preprocess(nb, resources) cell.source = "hello!" nb, resources = preprocessors[1].preprocess(nb, resources) assert cell.source == "hello"
def test_overwrite_locked_checksum(self, preprocessors, resources): """Is the checksum overwritten for locked cells?""" cell = create_locked_cell("hello", "code", "foo") cell.metadata.nbgrader['checksum'] = compute_checksum(cell) nb = new_notebook() nb.cells.append(cell) nb, resources = preprocessors[0].preprocess(nb, resources) cell.metadata.nbgrader["checksum"] = "1234" nb, resources = preprocessors[1].preprocess(nb, resources) assert cell.metadata.nbgrader["checksum"] == compute_checksum(cell)
def test_save_locked_markdown_cell(self, preprocessor, resources): cell = create_locked_cell("hello", "markdown", "foo") cell.metadata.nbgrader['checksum'] = compute_checksum(cell) nb = new_notebook() nb.cells.append(cell) nb, resources = preprocessor.preprocess(nb, resources) gb = preprocessor.gradebook source_cell = gb.find_source_cell("foo", "test", "ps0") assert source_cell.source == "hello" assert source_cell.checksum == cell.metadata.nbgrader["checksum"] assert source_cell.cell_type == "markdown" assert source_cell.locked