This will help us get better coverage info, and prevent packaging test data with the sdist.
57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
import unittest
|
|
|
|
from hippolyzer.lib.base.datatypes import *
|
|
from hippolyzer.lib.base.legacy_inv import InventoryModel
|
|
|
|
SIMPLE_INV = """\tinv_object\t0
|
|
\t{
|
|
\t\tobj_id\tf4d91477-def1-487a-b4f3-6fa201c17376
|
|
\t\tparent_id\t00000000-0000-0000-0000-000000000000
|
|
\t\ttype\tcategory
|
|
\t\tname\tContents|
|
|
\t}
|
|
\tinv_item\t0
|
|
\t{
|
|
\t\titem_id\tdd163122-946b-44df-99f6-a6030e2b9597
|
|
\t\tparent_id\tf4d91477-def1-487a-b4f3-6fa201c17376
|
|
\tpermissions 0
|
|
\t{
|
|
\t\tbase_mask\t7fffffff
|
|
\t\towner_mask\t7fffffff
|
|
\t\tgroup_mask\t00000000
|
|
\t\teveryone_mask\t00000000
|
|
\t\tnext_owner_mask\t0008e000
|
|
\t\tcreator_id\ta2e76fcd-9360-4f6d-a924-000000000003
|
|
\t\towner_id\ta2e76fcd-9360-4f6d-a924-000000000003
|
|
\t\tlast_owner_id\ta2e76fcd-9360-4f6d-a924-000000000003
|
|
\t\tgroup_id\t00000000-0000-0000-0000-000000000000
|
|
\t}
|
|
\t\tasset_id\t00000000-0000-0000-0000-000000000000
|
|
\t\ttype\tlsltext
|
|
\t\tinv_type\tscript
|
|
\t\tflags\t00000000
|
|
\tsale_info\t0
|
|
\t{
|
|
\t\tsale_type\tnot
|
|
\t\tsale_price\t10
|
|
\t}
|
|
\t\tname\tNew Script|
|
|
\t\tdesc\t2020-04-20 04:20:39 lsl2 script|
|
|
\t\tcreation_date\t1587367239
|
|
\t}
|
|
"""
|
|
|
|
|
|
class TestLegacyInv(unittest.TestCase):
|
|
def test_parse(self):
|
|
model = InventoryModel.from_str(SIMPLE_INV)
|
|
self.assertTrue(UUID('f4d91477-def1-487a-b4f3-6fa201c17376') in model.containers)
|
|
self.assertIsNotNone(model.root)
|
|
|
|
def test_item_access(self):
|
|
model = InventoryModel.from_str(SIMPLE_INV)
|
|
item = model.items[UUID('dd163122-946b-44df-99f6-a6030e2b9597')]
|
|
self.assertEqual(item.name, "New Script")
|
|
self.assertEqual(item.sale_info.sale_type, "not")
|
|
self.assertEqual(item.model, model)
|