Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1890)

Delta Between Two Patch Sets: state/apiserver/provisioner/provisioner_test.go

Issue 25040043: Refactor container provisioner (Closed)
Left Patch Set: Created 10 years, 4 months ago
Right Patch Set: - Created 10 years, 4 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
LEFTRIGHT
(no file at all)
1 // Copyright 2013 Canonical Ltd. 1 // Copyright 2013 Canonical Ltd.
2 // Licensed under the AGPLv3, see LICENCE file for details. 2 // Licensed under the AGPLv3, see LICENCE file for details.
3 3
4 package provisioner_test 4 package provisioner_test
5 5
6 import ( 6 import (
7 "fmt" 7 "fmt"
8 stdtesting "testing" 8 stdtesting "testing"
9 9
10 gc "launchpad.net/gocheck" 10 gc "launchpad.net/gocheck"
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 730
731 args := params.Entities{Entities: []params.Entity{agent}} 731 args := params.Entities{Entities: []params.Entity{agent}}
732 results, err := s.provisioner.Tools(args) 732 results, err := s.provisioner.Tools(args)
733 c.Assert(err, gc.IsNil) 733 c.Assert(err, gc.IsNil)
734 c.Check(results.Results, gc.HasLen, 1) 734 c.Check(results.Results, gc.HasLen, 1)
735 c.Assert(results.Results[0].Error, gc.IsNil) 735 c.Assert(results.Results[0].Error, gc.IsNil)
736 agentTools := results.Results[0].Tools 736 agentTools := results.Results[0].Tools
737 c.Check(agentTools.URL, gc.Not(gc.Equals), "") 737 c.Check(agentTools.URL, gc.Not(gc.Equals), "")
738 c.Check(agentTools.Version, gc.DeepEquals, cur) 738 c.Check(agentTools.Version, gc.DeepEquals, cur)
739 } 739 }
740
741 func (s *provisionerSuite) TestAddSupportedContainers(c *gc.C) {
742 args := params.AddSupportedContainers{
743 Params: []params.AddMachineSupportedContainers{
744 {
745 MachineTag: "machine-0",
746 ContainerTypes: []instance.ContainerType{instanc e.LXC},
747 },
748 {
749 MachineTag: "machine-1",
750 ContainerTypes: []instance.ContainerType{instanc e.LXC, instance.KVM},
751 },
752 },
753 }
754 results, err := s.provisioner.AddSupportedContainers(args)
755 c.Assert(err, gc.IsNil)
756 c.Assert(results.Results, gc.HasLen, 2)
757 for _, result := range results.Results {
758 c.Assert(result.Error, gc.IsNil)
759 }
760 m0, err := s.State.Machine("0")
761 c.Assert(err, gc.IsNil)
762 containers, ok := m0.SupportedContainers()
763 c.Assert(ok, jc.IsTrue)
764 c.Assert(containers, gc.DeepEquals, []instance.ContainerType{instance.LX C})
765 m1, err := s.State.Machine("1")
766 c.Assert(err, gc.IsNil)
767 containers, ok = m1.SupportedContainers()
768 c.Assert(ok, jc.IsTrue)
769 c.Assert(containers, gc.DeepEquals, []instance.ContainerType{instance.LX C, instance.KVM})
770 }
771
772 func (s *provisionerSuite) TestAddSupportedContainersPermissions(c *gc.C) {
773 // Login as a machine agent for machine 0.
774 anAuthorizer := s.authorizer
775 anAuthorizer.MachineAgent = true
776 anAuthorizer.Manager = false
777 anAuthorizer.Tag = s.machines[0].Tag()
778 aProvisioner, err := provisioner.NewProvisionerAPI(s.State, s.resources, anAuthorizer)
779 c.Assert(err, gc.IsNil)
780 c.Assert(aProvisioner, gc.NotNil)
781
782 args := params.AddSupportedContainers{
783 Params: []params.AddMachineSupportedContainers{
784 {
785 MachineTag: "machine-0",
786 ContainerTypes: []instance.ContainerType{instanc e.LXC},
787 },
788 {
789 MachineTag: "machine-1",
790 ContainerTypes: []instance.ContainerType{instanc e.LXC},
791 },
792 },
793 }
794 // Only machine 0 can have it's containers updated.
795 results, err := aProvisioner.AddSupportedContainers(args)
796 c.Assert(results, gc.DeepEquals, params.ErrorResults{
797 Results: []params.ErrorResult{
798 {Error: nil},
799 {Error: apiservertesting.ErrUnauthorized},
800 },
801 })
802 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b