github.com/cloudbase/juju-core@v0.0.0-20140504232958-a7271ac7912f/agent/format-1.18_whitebox_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 // The format tests are white box tests, meaning that the tests are in the 5 // same package as the code, as all the format details are internal to the 6 // package. 7 8 package agent 9 10 import ( 11 "path/filepath" 12 13 gc "launchpad.net/gocheck" 14 "launchpad.net/juju-core/state/api/params" 15 jc "launchpad.net/juju-core/testing/checkers" 16 "launchpad.net/juju-core/testing/testbase" 17 "launchpad.net/juju-core/utils" 18 "launchpad.net/juju-core/version" 19 ) 20 21 type format_1_18Suite struct { 22 testbase.LoggingSuite 23 } 24 25 var _ = gc.Suite(&format_1_18Suite{}) 26 27 var configData1_18WithoutUpgradedToVersion = "# format 1.18\n" + configDataWithoutUpgradedToVersion 28 29 func (s *format_1_18Suite) TestMissingUpgradedToVersion(c *gc.C) { 30 dataDir := c.MkDir() 31 configPath := filepath.Join(dataDir, agentConfigFilename) 32 err := utils.AtomicWriteFile(configPath, []byte(configData1_18WithoutUpgradedToVersion), 0600) 33 c.Assert(err, gc.IsNil) 34 readConfig, err := ReadConf(configPath) 35 c.Assert(err, gc.IsNil) 36 c.Assert(readConfig.UpgradedToVersion(), gc.Equals, version.MustParse("1.16.0")) 37 } 38 39 func (*format_1_18Suite) TestReadConfWithExisting1_18ConfigFileContents(c *gc.C) { 40 dataDir := c.MkDir() 41 configPath := filepath.Join(dataDir, agentConfigFilename) 42 err := utils.AtomicWriteFile(configPath, []byte(agentConfig1_18Contents), 0600) 43 c.Assert(err, gc.IsNil) 44 45 config, err := ReadConf(configPath) 46 c.Assert(err, gc.IsNil) 47 c.Assert(config.UpgradedToVersion(), jc.DeepEquals, version.MustParse("1.17.5.1")) 48 c.Assert(config.Jobs(), jc.DeepEquals, []params.MachineJob{params.JobManageEnviron}) 49 } 50 51 var agentConfig1_18Contents = ` 52 # format 1.18 53 tag: machine-0 54 datadir: /home/user/.juju/local 55 logdir: /var/log/juju-user-local 56 nonce: user-admin:bootstrap 57 jobs: 58 - JobManageEnviron 59 upgradedToVersion: 1.17.5.1 60 cacert: '-----BEGIN CERTIFICATE----- 61 62 MIICWzCCAcagAwIBAgIBADALBgkqhkiG9w0BAQUwQzENMAsGA1UEChMEanVqdTEy 63 64 MDAGA1UEAwwpanVqdS1nZW5lcmF0ZWQgQ0EgZm9yIGVudmlyb25tZW50ICJsb2Nh 65 66 bCIwHhcNMTQwMzA1MTQxOTA3WhcNMjQwMzA1MTQyNDA3WjBDMQ0wCwYDVQQKEwRq 67 68 dWp1MTIwMAYDVQQDDClqdWp1LWdlbmVyYXRlZCBDQSBmb3IgZW52aXJvbm1lbnQg 69 70 ImxvY2FsIjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwHsKV7fKfmSQt2QL 71 72 P4+hrqQJhDTMifgNkIY9nTlLHegV5jl5XJ8lRYjZBXJEMz0AzW/RbrDElkn5+4Do 73 74 pIWPNDAT0eztXBvVwL6qQOUtiBsA7vHQJMQaLVAmZNKvrHyuhcoG+hpf8EMaLdbA 75 76 iCGKifs+Y0MFt5AeriVDH5lGlzcCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgCkMA8G 77 78 A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFB3Td3SP66UToZkOjVh3Wy8b6HR6MB8G 79 80 A1UdIwQYMBaAFB3Td3SP66UToZkOjVh3Wy8b6HR6MAsGCSqGSIb3DQEBBQOBgQB4 81 82 izvSRSpimi40aEOnZIsSMHVBiSCclpBg5cq7lGyiUSsDROTIbsRAKPBmrflB/qbf 83 84 J70rWFwh/d/5ssCAYrZviFL6WvpuLD3j3m4PYampNMmvJf2s6zVRIMotEY+bVwfU 85 86 z4jGaVpODac0i0bE0/Uh9qXK1UXcYY57vNNAgkaYAQ== 87 88 -----END CERTIFICATE----- 89 90 ' 91 stateaddresses: 92 - localhost:37017 93 statepassword: NB5imrDaWCCRW/4akSSvUxhX 94 apiaddresses: 95 - localhost:17070 96 apipassword: NB5imrDaWCCRW/4akSSvUxhX 97 oldpassword: oBlMbFUGvCb2PMFgYVzjS6GD 98 values: 99 AGENT_SERVICE_NAME: juju-agent-user-local 100 CONTAINER_TYPE: "" 101 MONGO_SERVICE_NAME: juju-db-user-local 102 NAMESPACE: user-local 103 PROVIDER_TYPE: local 104 STORAGE_ADDR: 10.0.3.1:8040 105 STORAGE_DIR: /home/user/.juju/local/storage 106 stateservercert: '-----BEGIN CERTIFICATE----- 107 108 MIICNzCCAaKgAwIBAgIBADALBgkqhkiG9w0BAQUwQzENMAsGA1UEChMEanVqdTEy 109 110 MDAGA1UEAwwpanVqdS1nZW5lcmF0ZWQgQ0EgZm9yIGVudmlyb25tZW50ICJsb2Nh 111 112 bCIwHhcNMTQwMzA1MTQxOTE1WhcNMjQwMzA1MTQyNDE1WjAbMQ0wCwYDVQQKEwRq 113 114 dWp1MQowCAYDVQQDEwEqMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJnbuN 115 116 L3m/oY7Er2lEF6ye1SodepvpI0CLCdLwrYP52cRxbVzoD1jbXveclolg2xoUquga 117 118 qxsAhvVzzGaoLux1BoBD+G0N637fnY4XSIC9IuSkPOAdReKJkOvTL4nTjpzgfeHR 119 120 hRin6Xckvp96L4Prmki7sYQ8PG9Q7TBcOf4yowIDAQABo2cwZTAOBgNVHQ8BAf8E 121 122 BAMCAKgwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFE1MB3d+5BW+n066 123 124 lWcVkhta1etlMB8GA1UdIwQYMBaAFB3Td3SP66UToZkOjVh3Wy8b6HR6MAsGCSqG 125 126 SIb3DQEBBQOBgQBnsBvl3hfIQbHhAlqritDBCWGpaXywlHe4PvyVL3LZTLiAZ9a/ 127 128 BOSBfovs81sjUe5l60j+1vgRQgvT2Pnw6WGWmYWhSyxW7upEUl1LuZxnw3AVGVFO 129 130 r140iBNUtTfGUf3PmyBXHSotqgMime+rNSjl25qSoYwnuQXdFdCKJoutYg== 131 132 -----END CERTIFICATE----- 133 134 ' 135 stateserverkey: '-----BEGIN RSA PRIVATE KEY----- 136 137 MIICXAIBAAKBgQDJnbuNL3m/oY7Er2lEF6ye1SodepvpI0CLCdLwrYP52cRxbVzo 138 139 D1jbXveclolg2xoUqugaqxsAhvVzzGaoLux1BoBD+G0N637fnY4XSIC9IuSkPOAd 140 141 ReKJkOvTL4nTjpzgfeHRhRin6Xckvp96L4Prmki7sYQ8PG9Q7TBcOf4yowIDAQAB 142 143 AoGASEtzETFQ6tI3q3dqu6vxjhLJw0BP381wO2sOZJcTl+fqdPHOOrgmGKN5DoE8 144 145 SarHM1oFWGq6h/nc0eUdenk4+CokpbKRgUU9hB1TKGYMbN3bUTKPOqTMHbnrhWdT 146 147 P/fqa+nXhvg7igMT3Rk7l9DsSxoYB5xZmiLaXqynVE5MNoECQQDRsgDDUrUOeMH6 148 149 1+GO+afb8beRzR8mnaBvja6XLlZB6SUcGet9bMgAiGH3arH6ARfNNsWrDAmvArah 150 151 SKeqRB5TAkEA9iMEQDkcybCmxu4Y3YLeQuT9r3h26QhQjc+eRINS/3ZLN+lxKnXG 152 153 N019ZUlsyL97lJBDzTMPsBqfXJ2pbqXwcQJBAJNLuPN63kl7E68zA3Ld9UYvBWY6 154 155 Mp56bJ7PZAs39kk4DuQtZNhmmBqfskkMPlZBfEmfJrxeqVKw0j56faPBU5cCQFYU 156 157 mP/8+VxwM2OPEZMmmaS7gR1E/BEznzh5S9iaNQSy0kuTkMhQuCnPJ/OsYiczEH08 158 159 lvnEyc/E/8bcPM09q4ECQCFwMWzw2Jx9VOBGm60yiOKIdLgdDZOY/tP0jigNCMJF 160 161 47/BJx3FCgW3io81a4KOc445LxgiPUJyyCNlY1dW70o= 162 163 -----END RSA PRIVATE KEY----- 164 165 ' 166 apiport: 17070 167 `[1:]