コード例 #1
0
    def test_result_answer(self, count):
        fetcher_payload = AgentResultMessage(AgentRawData(69 * b"\xff"))
        fetcher_stats = ResultStats(Snapshot.null())
        fetcher_message = FetcherMessage(
            FetcherHeader(
                FetcherType.TCP,
                PayloadType.AGENT,
                status=42,
                payload_length=len(fetcher_payload),
                stats_length=len(fetcher_stats),
            ),
            fetcher_payload,
            fetcher_stats,
        )
        fetcher_messages = list(repeat(fetcher_message, count))
        timeout = 7

        message = CMCMessage.result_answer(fetcher_messages, timeout,
                                           Snapshot.null())
        assert isinstance(repr(message), str)
        assert CMCMessage.from_bytes(bytes(message)) == message
        assert message.header.name == "fetch"
        assert message.header.state == CMCHeader.State.RESULT
        assert message.header.log_level.strip() == ""
        assert message.header.payload_length == len(message) - len(
            message.header)
        assert message.header.payload_length == len(message.payload)
コード例 #2
0
ファイル: test_protocol.py プロジェクト: troelsarvin/checkmk
 def messages(self):
     msg = []
     for payload, stats in (
         (AgentResultMessage(AgentRawData(42 * b"\0")), ResultStats(Snapshot.null())),
         (AgentResultMessage(AgentRawData(12 * b"\0")), ResultStats(Snapshot.null())),
     ):
         msg.append(
             FetcherMessage(
                 FetcherHeader(
                     FetcherType.TCP,
                     PayloadType.AGENT,
                     status=69,
                     payload_length=len(payload),
                     stats_length=len(stats),
                 ),
                 payload,
                 stats,
             )
         )
     return msg
コード例 #3
0
    def test_serialization(self, count):
        fetcher_payload = AgentResultMessage(AgentRawData(69 * b"\xff"))
        fetcher_stats = ResultStats(Snapshot.null())
        fetcher_message = FetcherMessage(
            FetcherHeader(
                FetcherType.TCP,
                PayloadType.AGENT,
                status=42,
                payload_length=len(fetcher_payload),
                stats_length=len(fetcher_stats),
            ),
            fetcher_payload,
            fetcher_stats,
        )
        fetcher_messages = list(repeat(fetcher_message, count))
        serial = 1337
        host_name = "my_host_name"
        timeout = 7

        message = CMCMessage.result_answer(
            fetcher_messages,
            serial=serial,
            host_name=host_name,
            timeout=timeout,
            duration=Snapshot.null(),
        )

        other = CMCMessage.from_bytes(bytes(message))
        assert other == message
        assert isinstance(repr(other), str)
        assert other.header.name == "fetch"
        assert other.header.state == CMCHeader.State.RESULT
        assert other.header.log_level.strip() == ""
        assert other.header.payload_length == len(message) - len(
            message.header)
        assert other.header.payload_length == len(message.payload)
        assert isinstance(other.payload, CMCResults)
        assert other.payload.id_.serial == serial
        assert other.payload.id_.host_name == host_name
        assert other.payload.stats.timeout == timeout
        assert other.payload.stats.duration == Snapshot.null()
コード例 #4
0
 def stats(self, duration):
     return ResultStats(duration)
コード例 #5
0
 def test_encode_decode(self, l3stats):
     assert ResultStats.from_bytes(bytes(l3stats)) == l3stats
コード例 #6
0
 def l3stats(self):
     return ResultStats(Snapshot.null())
コード例 #7
0
 def stats_length(self):
     return len(ResultStats(Snapshot.null()))
コード例 #8
0
ファイル: test_protocol.py プロジェクト: bbaumer/checkmk
 def fetcher_stats(self, duration):
     return ResultStats(duration)