def header(self, fetcher_message): return CMCHeader( "name", CMCHeader.State.RESULT, "", sum(len(msg) for msg in [fetcher_message]), )
def test_critical_constants(self): """ ATTENTION: Changing of those constants may require changing of C++ code""" assert CMCHeader.length == 32 assert CMCHeader.State.LOG.value == "LOG " assert CMCHeader.State.RESULT.value == "RESULT " assert CMCHeader.State.END_OF_REPLY.value == "ENDREPL" assert CMCHeader.default_protocol_name() == "fetch"
def test_neq(self): header = CMCHeader("name", CMCHeader.State.RESULT, "crit", 42) other_name = header.clone() other_name.name = "toto" assert header != other_name other_state = header.clone() other_state.state = CMCHeader.State.LOG assert header != other_state other_crit = header.clone() other_crit.log_level = "tnih" assert header != other_crit other_len = header.clone() other_len.payload_length = 69 assert header != other_len
def test_hash(self): header = CMCHeader("name", "RESULT ", "crit", 42) assert hash(header) == hash(bytes(header))
def test_repr(self): header = CMCHeader("name", "RESULT ", "crit", 42) assert isinstance(repr(header), str)
def test_eq(self): header = CMCHeader("name", CMCHeader.State.RESULT, "crit", 42) assert header == bytes(header) assert bytes(header) == header
def test_clone(self): header = CMCHeader("name", CMCHeader.State.RESULT, "crit", 42) other = header.clone() assert other is not header assert other == header
def test_from_bytes(self): header = CMCHeader("fetch", "RESULT ", "crit", 42) assert CMCHeader.from_bytes(bytes(header) + 42 * b"*") == header
def test_log_header(self, state): header = CMCHeader("fetch", state, "crit", 42) assert header == b"fetch:LOG :crit :42 :"
def test_result_header(self, state): header = CMCHeader("name", state, "crit", 41) assert header == b"name :RESULT :crit :41 :"
def test_len(self): header = CMCHeader("name", "RESULT ", "crit", 42) assert len(header) == len(bytes(header))