dhcpkit.tests.test_protocol_element module

Test whether the basic stuff of ProtocolElement works as intended

class dhcpkit.tests.test_protocol_element.AnythingContainerElement(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.ContainerElementBase

Container that may contain as many as it wants

class dhcpkit.tests.test_protocol_element.BadDemoElement[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

class dhcpkit.tests.test_protocol_element.ContainerElementBase(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

A simple element that contains DemoElements

validate()[source]

Validate the contents of this element

class dhcpkit.tests.test_protocol_element.DemoElement[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

class dhcpkit.tests.test_protocol_element.DemoElementBase[source]

Bases: dhcpkit.protocol_element.ProtocolElement

A simple element to test with

load_from(buffer: bytes, offset: int = 0, length: int = None) → int[source]

Intentionally left empty. Specific implementations must be tested separately.

Parameters:
  • buffer – The buffer to read data from
  • offset – The offset in the buffer where to start reading
  • length – The amount of data we are allowed to read from the buffer
Returns:

The number of bytes used from the buffer

save() → Union[source]

Intentionally left empty. Specific implementations must be tested separately.

Returns:The buffer with the data from this element
class dhcpkit.tests.test_protocol_element.ElementOccurrenceTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_anything_0()[source]
test_anything_1()[source]
test_anything_2()[source]
test_bad()[source]
test_class_based()[source]
test_compare()[source]
test_element_class_case_less_specific()[source]
test_element_class_case_more_specific()[source]
test_element_class_forbidden()[source]
test_element_class_missing()[source]
test_element_class_superclasses_less_specific()[source]
test_element_class_superclasses_more_specific()[source]
test_exactly_one_0()[source]
test_exactly_one_1()[source]
test_exactly_one_2()[source]
test_exactly_two_1()[source]
test_exactly_two_2()[source]
test_exactly_two_3()[source]
test_max_one_0()[source]
test_max_one_1()[source]
test_max_one_2()[source]
test_min_one_0()[source]
test_min_one_1()[source]
test_min_one_2()[source]
test_nothing_0()[source]
test_nothing_1()[source]
test_nothing_2()[source]
test_repr()[source]
test_str_no_parameters()[source]
test_str_one_parameter()[source]
test_str_one_parameter_display()[source]
test_str_one_parameter_display_hidden()[source]
test_str_one_parameter_display_hidden_string()[source]
test_str_three_parameters()[source]
test_str_two_parameters()[source]
test_str_two_parameters_display()[source]
test_str_two_parameters_display_hidden()[source]
test_str_two_parameters_display_hidden_string()[source]
class dhcpkit.tests.test_protocol_element.ExactlyOneContainerElement(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.ContainerElementBase

Container that must contain exactly one sub-element

class dhcpkit.tests.test_protocol_element.ExactlyTwoContainerElement(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.ContainerElementBase

Container that must contain exactly two sub-elements

class dhcpkit.tests.test_protocol_element.HardCodedContainerElement(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.ContainerElementBase

Container that will have its _may_contain class property overwritten in the test

class dhcpkit.tests.test_protocol_element.JSONEncodingTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_str_no_parameters()[source]
test_str_one_parameter()[source]
test_str_three_parameters()[source]
test_str_two_parameters()[source]
class dhcpkit.tests.test_protocol_element.MaxOneContainerElement(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.ContainerElementBase

Container that must contain at most one sub-element

class dhcpkit.tests.test_protocol_element.MinOneContainerElement(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.ContainerElementBase

Container that must contain at least one sub-element

class dhcpkit.tests.test_protocol_element.NothingContainerElement(elements: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.ContainerElementBase

Container that may contain as many as it wants

class dhcpkit.tests.test_protocol_element.OneParameterDemoElement(one)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

class dhcpkit.tests.test_protocol_element.OneParameterDisplayDemoElement(one)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

display_one()[source]

Nicer display for property one

class dhcpkit.tests.test_protocol_element.OneParameterDisplayHiddenDemoElement(one)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

display_one = **HIDDEN**
class dhcpkit.tests.test_protocol_element.OneParameterDisplayHiddenStringDemoElement(one)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

display_one = '**HIDDEN**'
class dhcpkit.tests.test_protocol_element.ProtocolElementTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_determine_class()[source]
class dhcpkit.tests.test_protocol_element.ThreeParameterDemoElement(one: int, two: str, three: Iterable)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

class dhcpkit.tests.test_protocol_element.TwoParameterDemoElement(one: int, two: dhcpkit.tests.test_protocol_element.DemoElementBase)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

class dhcpkit.tests.test_protocol_element.TwoParameterDisplayDemoElement(one: int, two: dhcpkit.tests.test_protocol_element.DemoElementBase)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

display_one()[source]

Nicer display for property one

class dhcpkit.tests.test_protocol_element.TwoParameterDisplayHiddenDemoElement(one: int, two: dhcpkit.tests.test_protocol_element.DemoElementBase)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

display_one = **HIDDEN**
class dhcpkit.tests.test_protocol_element.TwoParameterDisplayHiddenStringDemoElement(one: int, two: dhcpkit.tests.test_protocol_element.DemoElementBase)[source]

Bases: dhcpkit.tests.test_protocol_element.DemoElementBase

Sub-element to test with

display_one = '**HIDDEN**'
class dhcpkit.tests.test_protocol_element.UnknownProtocolElementTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_load_from()[source]
test_save()[source]