~andreserl/maas/lp1665143

« back to all changes in this revision

Viewing changes to src/provisioningserver/templates/commissioning-user-data/snippets/tests/test_maas_ipmi_autodetect.py

Merged specify_scripts_commissioning into test_api.

Show diffs side-by-side

added added

removed removed

Lines of Context:
497
497
 
498
498
    scenarios = [
499
499
        ('none', dict(
500
 
            output='  IP_Address    \n\n', expected=None)),
 
500
            output4='  IP_Address    \n\n',
 
501
            output_st='', output_dy='', expected=None)),
501
502
        ('bogus', dict(
502
 
            output='  IP_Address    bogus\n\n', expected=None)),
 
503
            output4='  IP_Address    bogus\n\n',
 
504
            output_st='', output_dy='', expected=None)),
503
505
        ('ipv4', dict(
504
 
            output='  IP_Address    192.168.1.1\n\n', expected='192.168.1.1')),
505
 
        ('ipv6', dict(
506
 
            output='  IP_Address    2001:db8::3\n\n', expected='2001:db8::3')),
 
506
            output4='  IP_Address    192.168.1.1\n\n',
 
507
            output_st='', output_dy='', expected='192.168.1.1')),
 
508
        ('ipv4-ipv6', dict(
 
509
            output4='  IP_Address    192.168.1.1\n\n',
 
510
            output_st='  IPv6_Static_Addresses 2001:db8::3\n\n',
 
511
            output_dy='', expected='192.168.1.1')),
 
512
        ('static6', dict(
 
513
            output4='  IP_Address    0.0.0.0\n\n',
 
514
            output_st='  IPv6_Static_Addresses 2001:db8::3\n\n',
 
515
            output_dy='',
 
516
            expected='2001:db8::3')),
 
517
        ('static6 multiple', dict(
 
518
            output4='  IP_Address    0.0.0.0\n\n',
 
519
            output_st='  IPv6_Static_Addresses fe80::3:7 2001:db8::3\n\n',
 
520
            output_dy='',
 
521
            expected='2001:db8::3')),
 
522
        ('mixed6', dict(
 
523
            output4='  IP_Address    0.0.0.0\n\n',
 
524
            output_st='  IPv6_Static_Addresses 2001:db8::9:5\n\n',
 
525
            output_dy='  ## IPv6_Dynamic_Addresses 2001:db8::3\n\n',
 
526
            expected='2001:db8::9:5')),
 
527
        ('dynamic6', dict(
 
528
            output4='  IP_Address    0.0.0.0\n\n',
 
529
            output_st='',
 
530
            output_dy='  ## IPv6_Dynamic_Addresses 2001:db8::3\n\n',
 
531
            expected='2001:db8::3')),
 
532
        ('dynamic6 with link-local', dict(
 
533
            output4='  IP_Address    0.0.0.0\n\n',
 
534
            output_st='',
 
535
            output_dy='  ## IPv6_Dynamic_Addresses fe80::3:7 2001:db8::3\n\n',
 
536
            expected='2001:db8::3')),
 
537
        ('dynamic6 multiple', dict(
 
538
            output4='  IP_Address    0.0.0.0\n\n',
 
539
            output_st='',
 
540
            output_dy=(
 
541
                '  ## IPv6_Dynamic_Addresses fe80::7 2001:db8::3 2001::5\n\n'
 
542
            ),
 
543
            expected='2001:db8::3')),
507
544
        ('link-local', dict(
508
 
            output='  IP_Address    fe80::3:7\n\n', expected='fe80::3:7')),
 
545
            output4='',
 
546
            output_st='',
 
547
            output_dy='  ## IPv6_Dynamic_IP_Addresses  fe80::7 fe80::3:9\n\n',
 
548
            expected=None)),
 
549
        ('0.0.0.0', dict(
 
550
            output4='  IP_Address    0.0.0.0\n\n',
 
551
            output_st='',
 
552
            output_dy='',
 
553
            expected=None)),
509
554
    ]
510
555
 
511
556
    def test_get_ipmi_ip_address(self):
512
 
        run_command = self.patch(maas_ipmi_autodetect, 'run_command')
513
 
        run_command.return_value = self.output
 
557
        ret_values = {
 
558
            'Lan_Conf:IP_Address': self.output4,
 
559
            'Lan6_Conf:IPv6_Static_Addresses': self.output_st,
 
560
            'Lan6_Conf:IPv6_Dynamic_Addresses': self.output_dy
 
561
        }
 
562
 
 
563
        def ret_val(arg):
 
564
            return ret_values[arg]
 
565
 
 
566
        self.patch(
 
567
            maas_ipmi_autodetect,
 
568
            '_bmc_get_ipmi_addresses').side_effect = ret_val
514
569
        actual = get_ipmi_ip_address()
515
570
        self.assertEqual(self.expected, actual)