~hazmat/pyjuju/security-policy-with-topology

« back to all changes in this revision

Viewing changes to juju/providers/orchestra/tests/test_cobbler.py

  • Committer: kapil.thangavelu at canonical
  • Date: 2012-03-31 15:29:12 UTC
  • mfrom: (316.1.12 states-with-principals)
  • Revision ID: kapil.thangavelu@canonical.com-20120331152912-tqw40aplespiwa6g
Merged states-with-principals into security-policy-with-topology.

Show diffs side-by-side

added added

removed removed

Lines of Context:
227
227
        self.mocker.result(result)
228
228
 
229
229
    def mock_find_system(self, result):
230
 
        self.proxy_m.callRemote("find_system", {"mgmt_classes": "available",
231
 
                                                "netboot_enabled": "true"})
 
230
        self.proxy_m.callRemote("find_system",
 
231
                                {"mgmt_classes": "available extra",
 
232
                                 "netboot_enabled": "true"})
232
233
        self.mocker.result(result)
233
234
 
234
235
    def mock_power_system(self, state, result):
438
439
        self.setup_mock()
439
440
        self.mock_find_system(fail(SomeError()))
440
441
        self.mocker.replay()
441
 
        d = self.call_cobbler_method("acquire_system")
 
442
        d = self.call_cobbler_method("acquire_system", ["extra"])
442
443
        self.assertFailure(d, SomeError)
443
444
        return d
444
445
 
447
448
        self.setup_mock()
448
449
        self.mock_find_system(succeed([]))
449
450
        self.mocker.replay()
450
 
        d = self.call_cobbler_method("acquire_system")
 
451
        d = self.call_cobbler_method("acquire_system", ["extra"])
451
452
        self.assertFailure(d, ProviderError)
452
453
 
453
454
        def verify(error):
454
 
            self.assertEquals(str(error),
455
 
                              "Could not find any Cobbler systems marked as "
456
 
                              "available and configured for network boot.")
 
455
            self.assertEquals(
 
456
                str(error),
 
457
                "Could not find a suitable Cobbler system (set to netboot, "
 
458
                "and a member of the following management classes: available, "
 
459
                "extra)")
457
460
        d.addCallback(verify)
458
461
        return d
459
462
 
463
466
        self.mock_find_system(succeed(["some-name", "other-name"]))
464
467
        self.mock_get_system(fail(SomeError()))
465
468
        self.mocker.replay()
466
 
        d = self.call_cobbler_method("acquire_system")
 
469
        d = self.call_cobbler_method("acquire_system", ["extra"])
467
470
        self.assertFailure(d, SomeError)
468
471
        return d
469
472
 
478
481
        self.mock_get_system(succeed(_crazy_system("other-uid")),
479
482
                             name="other-name")
480
483
        self.mocker.replay()
481
 
        d = self.call_cobbler_method("acquire_system")
 
484
        d = self.call_cobbler_method("acquire_system", ["extra"])
482
485
        self.assertFailure(d, ProviderError)
483
486
 
484
487
        def verify(error):
493
496
        self.setup_mock()
494
497
        self.mock_find_system(succeed(["some-name"]))
495
498
        self.mock_get_system(succeed(_SOME_SYSTEM))
496
 
        return self.check_get_name_failure("acquire_system")
 
499
        return self.check_get_name_failure("acquire_system", ["extra"])
497
500
 
498
501
    def test_get_name_error(self):
499
502
        """Test that an arbitrary exception from find_system is propagated"""
500
503
        self.setup_mock()
501
504
        self.mock_find_system(succeed(["some-name"]))
502
505
        self.mock_get_system(succeed(_SOME_SYSTEM))
503
 
        return self.check_get_name_error("acquire_system")
 
506
        return self.check_get_name_error("acquire_system", ["extra"])
504
507
 
505
508
    def test_get_system_handle_failure(self):
506
509
        """Test error when system doesn't exist"""
508
511
        self.mock_find_system(succeed(["some-name"]))
509
512
        self.mock_get_system(succeed(_SOME_SYSTEM))
510
513
        self.mock_get_name(succeed(["some-name"]))
511
 
        return self.check_get_system_handle_failure("acquire_system")
 
514
        return self.check_get_system_handle_failure("acquire_system", ["extra"])
512
515
 
513
516
    def test_get_system_handle_unknown_fault(self):
514
517
        """Test error on unknown xmlrpc Fault"""
516
519
        self.mock_find_system(succeed(["some-name"]))
517
520
        self.mock_get_system(succeed(_SOME_SYSTEM))
518
521
        self.mock_get_name(succeed(["some-name"]))
519
 
        return self.check_get_system_handle_fault("acquire_system")
 
522
        return self.check_get_system_handle_fault("acquire_system", ["extra"])
520
523
 
521
524
    def test_get_system_handle_error(self):
522
525
        """
526
529
        self.mock_find_system(succeed(["some-name"]))
527
530
        self.mock_get_system(succeed(_SOME_SYSTEM))
528
531
        self.mock_get_name(succeed(["some-name"]))
529
 
        return self.check_get_system_handle_error("acquire_system")
 
532
        return self.check_get_system_handle_error("acquire_system", ["extra"])
530
533
 
531
534
    def test_modify_system_failure(self):
532
535
        """Test error on failure to modify_system"""
537
540
        self.mock_get_system_handle(succeed("some-handle"))
538
541
        return self.check_modify_system_failure(
539
542
            "mgmt_classes", ["preserve_me", "acquired"],
540
 
            "acquire_system")
 
543
            "acquire_system", ["extra"])
541
544
 
542
545
    def test_modify_system_error(self):
543
546
        """Test propagate unknown error from modify_system"""
548
551
        self.mock_get_system_handle(succeed("some-handle"))
549
552
        return self.check_modify_system_error(
550
553
            "mgmt_classes", ["preserve_me", "acquired"],
551
 
            "acquire_system")
 
554
            "acquire_system", ["extra"])
552
555
 
553
556
    def test_save_system_failure(self):
554
557
        """Test error on failure to save_system"""
559
562
        self.mock_get_system_handle(succeed("some-handle"))
560
563
        self.mock_modify_system(
561
564
            succeed(True), "mgmt_classes", ["preserve_me", "acquired"])
562
 
        return self.check_save_system_failure("acquire_system")
 
565
        return self.check_save_system_failure("acquire_system", ["extra"])
563
566
 
564
567
    def test_save_system_error(self):
565
568
        """Test propagate unknown error from save_system"""
570
573
        self.mock_get_system_handle(succeed("some-handle"))
571
574
        self.mock_modify_system(
572
575
            succeed(True), "mgmt_classes", ["preserve_me", "acquired"])
573
 
        return self.check_save_system_error("acquire_system")
 
576
        return self.check_save_system_error("acquire_system", ["extra"])
574
577
 
575
578
    def test_eventual_success(self):
576
579
        """Test full interaction with expected results"""
584
587
            succeed(True), "mgmt_classes", ["preserve_me", "acquired"])
585
588
        self.mock_save_system(succeed(True))
586
589
        self.mocker.replay()
587
 
        d = self.call_cobbler_method("acquire_system")
 
590
        d = self.call_cobbler_method("acquire_system", ["extra"])
588
591
 
589
592
        def verify(result):
590
593
            self.assertEquals(result, "some-uid")