pebble/python_libs/pebble-loghash/test_dehashing.py
2025-01-27 11:38:16 -08:00

115 lines
4.1 KiB
Python

# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#/usr/bin/env python
"""
Tests for pebble.loghashing.dehashing
"""
LOOKUP_DICT = {"13108": "activity.c:activity tracking started",
"45803": "ispp.c:Start Authentication Process (%d) %s"}
from pebble.loghashing.dehashing import (dehash_line, parse_line, parse_support_line, parse_message,
dehash_str, parse_args)
def test_dehash_file():
"""
Test for dehash_file()
"""
pass
def test_dehash_line():
"""
Test for dehash_line()
"""
# Console Line - No arguments
assert ("D A 21:35:14.375 activity.c:804> activity tracking started" ==
dehash_line("D A 21:35:14.375 :804> LH:3334", LOOKUP_DICT))
# Console Line - Arguments
assert ("D A 21:35:14.375 ispp.c:872> Start Authentication Process (2) Success" ==
dehash_line("D A 21:35:14.375 :872> LH:b2eb 2 `Success`", LOOKUP_DICT))
# Support Line - No arguments
assert ("2015-09-05 02:16:16:000GMT activity.c:804> activity tracking started" ==
dehash_line("2015-09-05 02:16:16:000GMT :804 LH:3334", LOOKUP_DICT))
# Support Line - Arguments
assert ("2015-09-05 02:16:19:000GMT ispp.c:872> Start Authentication Process (2) Success" ==
dehash_line("2015-09-05 02:16:19:000GMT :872 LH:b2eb 2 `Success`", LOOKUP_DICT))
def test_parse_line():
"""
Test for parse_line()
"""
# No arguments
assert ("D A 21:35:14.375 activity.c:804> activity tracking started" ==
parse_line("D A 21:35:14.375 :804> LH:3334", LOOKUP_DICT))
# Arguments
assert ("D A 21:35:14.375 ispp.c:872> Start Authentication Process (2) Success" ==
parse_line("D A 21:35:14.375 :872> LH:b2eb 2 `Success`", LOOKUP_DICT))
def test_parse_support_line():
"""
Test for parse_support_line()
"""
# No arguments
assert ("2015-09-05 02:16:16:000GMT activity.c:804> activity tracking started" ==
parse_support_line("2015-09-05 02:16:16:000GMT :804 LH:3334", LOOKUP_DICT))
# Arguments
assert ("2015-09-05 02:16:19:000GMT ispp.c:872> Start Authentication Process (2) Success" ==
parse_support_line("2015-09-05 02:16:19:000GMT :872 LH:b2eb 2 `Success`", LOOKUP_DICT))
def test_parse_message():
"""
Test for parse_message()
"""
# Console Line - No arguments
assert ({'msg': 'activity tracking started', 'line': '804', 'file': 'activity.c'} ==
parse_message(":804> LH:3334", LOOKUP_DICT))
# Console Line - Arguments
assert ({'msg': 'Start Authentication Process (2) Success', 'line': '872', 'file': 'ispp.c'} ==
parse_message(":872> LH:b2eb 2 `Success`", LOOKUP_DICT))
# Support Line - No arguments
assert ({'msg': 'activity tracking started', 'line': '804', 'file': 'activity.c'} ==
parse_message(":804 LH:3334", LOOKUP_DICT))
# Support Line - Arguments
assert ({'msg': 'Start Authentication Process (2) Success', 'line': '872', 'file': 'ispp.c'} ==
parse_message(":872 LH:b2eb 2 `Success`", LOOKUP_DICT))
def test_dehash_str():
"""
Test for dehash_str()
"""
# No arguments
assert ("activity.c:activity tracking started" ==
dehash_str("3334", LOOKUP_DICT))
# Arguments
assert ("ispp.c:Start Authentication Process (%d) %s" ==
dehash_str("b2eb", LOOKUP_DICT))
def test_parse_args():
"""
Test for parse_args()
"""
# No `` delimted strings
assert ["foo", "bar", "baz"] == parse_args("foo bar baz")
# `` delimited strings
assert ["foo", "bar baz"] == parse_args("foo `bar baz`")