func (s *AllowedTargetVersionSuite) TestAllowedTargetVersionSuite(c *gc.C) { cases := []allowedTest{ {current: "1.2.3", target: "1.3.3", allowed: true}, {current: "1.2.3", target: "1.2.3", allowed: true}, {current: "1.2.3", target: "2.2.3", allowed: true}, {current: "1.2.3", target: "1.1.3", allowed: false}, {current: "1.2.3", target: "1.2.2", allowed: true}, {current: "1.2.3", target: "0.2.3", allowed: false}, } for i, test := range cases { c.Logf("test case %d, %#v", i, test) current := version.MustParse(test.current) target := version.MustParse(test.target) c.Check(upgrader.AllowedTargetVersion(current, target), gc.Equals, test.allowed) } }
func (s *AllowedTargetVersionSuite) TestAllowedTargetVersionSuite(c *gc.C) { cases := []allowedTest{ {original: "1.2.3", current: "1.2.3", upgradeRunning: false, target: "1.3.3", allowed: true}, {original: "1.2.3", current: "1.2.3", upgradeRunning: false, target: "1.2.3", allowed: true}, {original: "1.2.3", current: "1.2.3", upgradeRunning: false, target: "2.2.3", allowed: true}, {original: "1.2.3", current: "1.2.3", upgradeRunning: false, target: "1.1.3", allowed: false}, {original: "1.2.3", current: "1.2.3", upgradeRunning: false, target: "1.2.2", allowed: true}, // downgrade between builds {original: "1.2.3", current: "1.2.3", upgradeRunning: false, target: "0.2.3", allowed: false}, {original: "0.2.3", current: "1.2.3", upgradeRunning: false, target: "0.2.3", allowed: false}, {original: "0.2.3", current: "1.2.3", upgradeRunning: true, target: "0.2.3", allowed: true}, // downgrade during upgrade } for i, test := range cases { c.Logf("test case %d, %#v", i, test) original := version.MustParse(test.original) current := version.MustParse(test.current) target := version.MustParse(test.target) result := upgrader.AllowedTargetVersion(original, current, test.upgradeRunning, target) c.Check(result, gc.Equals, test.allowed) } }