github.com/juju/juju@v0.0.0-20240327075706-a90865de2538/core/charm/format_test.go (about) 1 // Copyright 2021 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package charm 5 6 import ( 7 "github.com/juju/charm/v12" 8 "github.com/juju/testing" 9 "go.uber.org/mock/gomock" 10 gc "gopkg.in/check.v1" 11 ) 12 13 type formatSuite struct { 14 testing.CleanupSuite 15 } 16 17 var _ = gc.Suite(&formatSuite{}) 18 19 func (s formatSuite) TestFormatV2(c *gc.C) { 20 ctrl := gomock.NewController(c) 21 defer ctrl.Finish() 22 23 cm := NewMockCharmMeta(ctrl) 24 cm.EXPECT().Meta().Return(&charm.Meta{}) 25 cm.EXPECT().Manifest().Return(&charm.Manifest{ 26 Bases: []charm.Base{ 27 {Name: "ubuntu", Channel: charm.Channel{ 28 Track: "20.04", 29 Risk: "stable", 30 }}, 31 }, 32 }) 33 34 c.Assert(Format(cm), gc.Equals, FormatV2) 35 } 36 37 func (s formatSuite) TestFormatV1EmptyManifest(c *gc.C) { 38 ctrl := gomock.NewController(c) 39 defer ctrl.Finish() 40 41 cm := NewMockCharmMeta(ctrl) 42 cm.EXPECT().Manifest().Return(&charm.Manifest{}) 43 44 c.Assert(Format(cm), gc.Equals, FormatV1) 45 } 46 47 func (s formatSuite) TestFormatV1Series(c *gc.C) { 48 ctrl := gomock.NewController(c) 49 defer ctrl.Finish() 50 51 cm := NewMockCharmMeta(ctrl) 52 cm.EXPECT().Manifest().Return(&charm.Manifest{ 53 Bases: []charm.Base{{}}, 54 }) 55 cm.EXPECT().Meta().Return(&charm.Meta{ 56 Series: []string{"kubernetes"}, 57 }) 58 59 c.Assert(Format(cm), gc.Equals, FormatV1) 60 }