def test_read_with_xml_reader():
    """
    Test if read method accepts xml reader.
    """
    cursor = XmlReader(make_buffer('<vm/>'))
    Reader.read(cursor)
    cursor.close()
Example #2
0
def test_read_with_xml_reader():
    """
    Test if read method accepts xml reader.
    """
    cursor = XmlReader(make_buffer('<vm/>'))
    Reader.read(cursor)
    cursor.close()
def test_read_given_two_different_objects():
    """
    Test if given given an empty document, read returns None.
    """
    cursor = XmlReader(make_buffer('<root/>'))
    cursor.read()
    object = Reader.read(cursor)
    assert_is_none(object)
Example #4
0
def test_read_given_two_different_objects():
    """
    Test if given given an empty document, read returns None.
    """
    cursor = XmlReader(make_buffer('<root/>'))
    cursor.read()
    object = Reader.read(cursor)
    assert_is_none(object)
def test_network_with_no_usages():
    """
    Test given network with no usages element, the usages attribute is None.
    """
    reader = XmlReader(make_buffer('<network/>'))
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_is_none(result.usages)
def test_network_with_no_usages():
    """
    Test given network with no usages element, the usages attribute is None.
    """
    reader = XmlReader(make_buffer('<network/>'))
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_is_none(result.usages)
def test_network_with_empty_usages():
    """
    Test given network with empty usages element, the usages attribute is empty list.
    """
    reader = XmlReader(make_buffer('<network><usages/></network>'))
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result.usages, list))
    assert_equals(len(result.usages), 0)
def test_read_given_two_different_objects():
    """
    Test if given two different consecutive objects, they can be read with two calls.
    """
    cursor = XmlReader(make_buffer('<root><vm/><disk/></root>'))
    cursor.read()
    vm = Reader.read(cursor)
    disk = Reader.read(cursor)
    assert_true(isinstance(vm, types.Vm))
    assert_true(isinstance(disk, types.Disk))
def test_read_unknonw_tag():
    """
    Test that when an unknonw tag is received an exception with a
    message is generated.
    """
    cursor = XmlReader(make_buffer('<html>blah<html>'))
    cursor.read()
    with assert_raises(Error) as context:
        Reader.read(cursor)
    assert_equals(str(context.exception), "Can't find a reader for tag 'html'")
Example #10
0
def test_reading_name_with_accents():
    """
    Test that reading a VM that has a name with accents works correctly.
    """
    reader = XmlReader(make_buffer('<vm>' '<name>áéíóúÁÉÍÓÚ</name>' '</vm>'))
    result = VmReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Vm))
    assert_equals(result.name, 'áéíóúÁÉÍÓÚ')
Example #11
0
def test_read_given_two_different_objects():
    """
    Test if given two different consecutive objects, they can be read with two calls.
    """
    cursor = XmlReader(make_buffer('<root><vm/><disk/></root>'))
    cursor.read()
    vm = Reader.read(cursor)
    disk = Reader.read(cursor)
    assert_true(isinstance(vm, types.Vm))
    assert_true(isinstance(disk, types.Disk))
Example #12
0
def test_read_unknonw_tag():
    """
    Test that when an unknonw tag is received an exception with a
    message is generated.
    """
    cursor = XmlReader(make_buffer('<html>blah<html>'))
    cursor.read()
    with assert_raises(Error) as context:
        Reader.read(cursor)
    assert_equals(str(context.exception), "Can't find a reader for tag 'html'")
def test_network_with_empty_usages():
    """
    Test given network with empty usages element, the usages attribute is empty list.
    """
    reader = XmlReader(make_buffer('<network><usages/></network>'))
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result.usages, list))
    assert_equals(len(result.usages), 0)
def test_network_with_one_usages():
    """
    Test given network with no usages element, the usages attribute is None.
    """
    reader = XmlReader(
        make_buffer('<network><usages><usage>vm</usage></usages></network>'))
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result.usages, list))
    assert_equals(len(result.usages), 1)
    assert_equals(result.usages[0], types.NetworkUsage.VM)
def test_unsupported_switch_type_dont_raise_exception():
    """
    Test when given switch type is unsupported, it don't raise exception.
    """
    reader = XmlReader(
        make_buffer('<cluster>'
                    '<switch_type>ugly</switch_type>'
                    '</cluster>'))
    result = ClusterReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Cluster))
    assert_is_none(result.switch_type)
def test_reading_name_with_accents():
    """
    Test that reading a VM that has a name with accents works correctly.
    """
    reader = XmlReader(make_buffer(
        '<vm>'
        '<name>áéíóúÁÉÍÓÚ</name>'
        '</vm>'
    ))
    result = VmReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Vm))
    assert_equals(result.name, 'áéíóúÁÉÍÓÚ')
Example #17
0
def test_reading_of_INHERITABLE_BOOLEAN_unsupported_value():
    """
    Test reading the InheritableBoolean enum unsupported value return None.
    """
    reader = XmlReader(
        make_buffer('<vm>'
                    '<migration>'
                    '<auto_converge>ugly</auto_converge>'
                    '</migration>'
                    '</vm>'))
    result = VmReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Vm))
    assert_equals(result.migration.auto_converge, None)
def test_unsupported_usage_dont_raise_exception():
    """
    Test when given network with unsupported usage element,
    it don't raise exception.
    """
    reader = XmlReader(
        make_buffer('<network>' + '<usages>' + '<usage>ugly</usage>' +
                    '<usage>display</usage>' + '</usages>' + '</network>'))
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result.usages, list))
    assert_equals(len(result.usages), 2)
    assert_is_none(result.usages[0])
    assert_equals(result.usages[1], types.NetworkUsage.DISPLAY)
def test_network_with_one_usages():
    """
    Test given network with no usages element, the usages attribute is None.
    """
    reader = XmlReader(
        make_buffer(
            '<network><usages><usage>vm</usage></usages></network>'
        )
    )
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result.usages, list))
    assert_equals(len(result.usages), 1)
    assert_equals(result.usages[0], types.NetworkUsage.VM)
Example #20
0
def make_reader(text):
    """
    Creates an IO objec that reads from the given text.
    """
    if six.PY3:
        text = text.encode('utf-8')
    return XmlReader(BytesIO(text))
Example #21
0
def test_reading_of_INHERITABLE_BOOLEAN_INHERIT():
    """
    Test reading the InheritableBoolean enum inherit value.
    """
    reader = XmlReader(
        make_buffer('<vm>'
                    '<migration>'
                    '<auto_converge>inherit</auto_converge>'
                    '</migration>'
                    '</vm>'))
    result = VmReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Vm))
    assert_equals(result.migration.auto_converge,
                  types.InheritableBoolean.INHERIT)
def test_reading_of_INHERITABLE_BOOLEAN_INHERIT():
    """
    Test reading the InheritableBoolean enum inherit value.
    """
    reader = XmlReader(make_buffer(
        '<vm>'
        '<migration>'
        '<auto_converge>inherit</auto_converge>'
        '</migration>'
        '</vm>'
    ))
    result = VmReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Vm))
    assert_equals(result.migration.auto_converge, types.InheritableBoolean.INHERIT)
def test_cluster_with_no_rng_sources_and_switch_type():
    """
    Test that reading the 'switch_type' enum when it appears after an
    empty list works correctly.
    """
    reader = XmlReader(
        make_buffer('<cluster>'
                    '<required_rng_sources/>'
                    '<switch_type>legacy</switch_type>'
                    '</cluster>'))
    result = ClusterReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Cluster))
    assert_equals(result.required_rng_sources, [])
    assert_equals(result.switch_type, types.SwitchType.LEGACY)
Example #24
0
def test_read_date_with_invalid_value():
    """
    Test given invalid value raises error.
    """
    io_buffer = make_buffer('<value>ugly</value>')
    xml_reader = XmlReader(io_buffer)
    Reader.read_date(xml_reader)
Example #25
0
def test_read_decimal_with_valid_value():
    """
    Test given valid value returns that value.
    """
    io_buffer = make_buffer('<value>1.1</value>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_decimal(xml_reader), 1.1)
Example #26
0
def test_read_boolean_0():
    """
    Test given '0' return False.
    """
    io_buffer = make_buffer('<value>0</value>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_boolean(xml_reader), False)
Example #27
0
def test_read_booleans_with_one_value():
    """
    Test given one value returns list containing one value.
    """
    io_buffer = make_buffer('<list><value>false</value></list>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_booleans(xml_reader), [False])
Example #28
0
def test_read_boolean_invalid_value():
    """
    Test given 'ugly' raises error.
    """
    io_buffer = make_buffer('<value>ugly</value>')
    xml_reader = XmlReader(io_buffer)
    Reader.read_boolean(xml_reader)
Example #29
0
def test_read_boolean_1():
    """
    Test given '1' return True.
    """
    io_buffer = make_buffer('<value>1</value>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_boolean(xml_reader), True)
Example #30
0
def test_read_decimals_with_one_value():
    """
    Test given one value returns list containing one value.
    """
    io_buffer = make_buffer('<list><value>1.1</value></list>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_decimals(xml_reader), [1.1])
Example #31
0
def test_read_integers_with_two_values():
    """
    Test given two values returns list containing two values.
    """
    io_buffer = make_buffer('<list><value>0</value><value>1</value></list>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_integers(xml_reader), [0, 1])
Example #32
0
def test_read_integers_empty_list_with_close_tag():
    """
    Test given no values with close tag returns empty list.
    """
    io_buffer = make_buffer('<list></list>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_integers(xml_reader), [])
Example #33
0
def test_read_integer_with_valid_value():
    """
    Test given valid value returns that value.
    """
    io_buffer = make_buffer('<value>0</value>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_integer(xml_reader), 0)
def test_reading_of_INHERITABLE_BOOLEAN_unsupported_value():
    """
    Test reading the InheritableBoolean enum unsupported value return None.
    """
    reader = XmlReader(make_buffer(
        '<vm>'
        '<migration>'
        '<auto_converge>ugly</auto_converge>'
        '</migration>'
        '</vm>'
    ))
    result = VmReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Vm))
    assert_equals(result.migration.auto_converge, None)
Example #35
0
def test_read_dates_empty_list_without_close_tag():
    """
    Test given no values without close tag returns empty list.
    """
    io_buffer = make_buffer('<list/>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_dates(xml_reader), [])
Example #36
0
def test_cluster_with_no_rng_sources_and_switch_type():
    """
    Test that reading the 'switch_type' enum when it appears after an
    empty list works correctly.
    """
    reader = XmlReader(make_buffer(
      '<cluster>'
        '<required_rng_sources/>'
        '<switch_type>legacy</switch_type>'
      '</cluster>'
    ))
    result = ClusterReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.Cluster))
    assert_equals(result.required_rng_sources, [])
    assert_equals(result.switch_type, types.SwitchType.LEGACY)
Example #37
0
def test_read_booleans_with_two_values():
    """
    Test given two values returns list containing two values.
    """
    io_buffer = make_buffer(
        '<list><value>false</value><value>true</value></list>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_booleans(xml_reader), [False, True])
Example #38
0
def test_read_decimals_with_two_values():
    """
    Test given two values returns list containing two values.
    """
    io_buffer = make_buffer(
        '<list><value>1.1</value><value>2.2</value></list>')
    xml_reader = XmlReader(io_buffer)
    assert_equals(Reader.read_decimals(xml_reader), [1.1, 2.2])
Example #39
0
def test_read_date_with_valid_value():
    """
    Test given valid value returns that value.
    """
    io_buffer = make_buffer('<value>2015-12-10T22:00:30+01:00</value>')
    xml_reader = XmlReader(io_buffer)
    date = datetime(2015, 12, 10, 22, 0, 30, tzinfo=TZ(60, None))
    assert_equals(Reader.read_date(xml_reader), date)
Example #40
0
def test_read_dates_with_one_value():
    """
    Test given one value returns list containing one value.
    """
    io_buffer = make_buffer(
        '<list><value>2015-12-10T22:00:30+01:00</value></list>')
    xml_reader = XmlReader(io_buffer)
    date = datetime(2015, 12, 10, 22, 0, 30, tzinfo=TZ(60, None))
    assert_equals(Reader.read_dates(xml_reader), [date])
Example #41
0
def test_read_leaves_position():
    """
    Test if read method leaves it positioned in the next element.
    """
    cursor = XmlReader(make_buffer('<root><vm/><next/></root>'))
    cursor.read()
    Reader.read(cursor)
    assert_equals(cursor.node_name(), 'next')
    cursor.close()
def test_affinity_group_reader_with_assigned_vms():
    """
    Test that reading of `vms` attribute of affinity group reads the `href`
    of the link as well as content of the `vms` element.
    """
    reader = XmlReader(make_buffer(
        '<affinity_group>'
        '<link href="/ovirt-engine/api/clusters/123/affinitygroups/456/vms" rel="vms"/>'
        '<vms><vm id="123"/></vms>'
        '</affinity_group>'
    ))
    result = AffinityGroupReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result, types.AffinityGroup))
    assert_true(len(result.vms) > 0)
    assert_equals(
        result.vms.href,
        '/ovirt-engine/api/clusters/123/affinitygroups/456/vms'
    )
    assert_equals(result.vms[0].id, '123')
def test_unsupported_usage_dont_raise_exception():
    """
    Test when given network with unsupported usage element,
    it don't raise exception.
    """
    reader = XmlReader(
        make_buffer(
            '<network>' +
            '<usages>' +
            '<usage>ugly</usage>' +
            '<usage>display</usage>' +
            '</usages>' +
            '</network>'
        )
    )
    result = NetworkReader.read_one(reader)
    reader.close()

    assert_true(isinstance(result.usages, list))
    assert_equals(len(result.usages), 2)
    assert_is_none(result.usages[0])
    assert_equals(result.usages[1], types.NetworkUsage.DISPLAY)
def test_read_leaves_position():
    """
    Test if read method leaves it positioned in the next element.
    """
    cursor = XmlReader(make_buffer('<root><vm/><next/></root>'))
    cursor.read()
    Reader.read(cursor)
    assert_equals(cursor.node_name(), 'next')
    cursor.close()