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:]