func (s *systemSSHKeyReduxSuite) TestReduxIdempotent(c *gc.C) { err := upgrades.EnsureSystemSSHKeyRedux(s.ctx) c.Assert(err, jc.ErrorIsNil) privateKey, err := ioutil.ReadFile(s.keyFile()) c.Assert(err, jc.ErrorIsNil) err = upgrades.EnsureSystemSSHKeyRedux(s.ctx) c.Assert(err, jc.ErrorIsNil) // Ensure we haven't generated the key again a second time. privateKey2, err := ioutil.ReadFile(s.keyFile()) c.Assert(err, jc.ErrorIsNil) c.Assert(privateKey, gc.DeepEquals, privateKey2) }
func (s *systemSSHKeyReduxSuite) TestReduxUpdatesAgentConfig(c *gc.C) { err := upgrades.EnsureSystemSSHKeyRedux(s.ctx) c.Assert(err, jc.ErrorIsNil) info, _ := s.ctx.AgentConfig().StateServingInfo() c.Assert(info.SystemIdentity, gc.Not(gc.Equals), "") }
func (s *systemSSHKeyReduxSuite) TestReduxSystemKeyCreated(c *gc.C) { err := upgrades.EnsureSystemSSHKeyRedux(s.ctx) c.Assert(err, jc.ErrorIsNil) s.assertKeyCreation(c) // Config authorized keys should be unaltered. cfg, err := s.JujuConnSuite.State.EnvironConfig() c.Assert(err, jc.ErrorIsNil) c.Assert(cfg.AuthorizedKeys(), gc.Equals, testing.FakeAuthKeys) }
func (s *systemSSHKeyReduxSuite) TestReduxExistsOnDisk(c *gc.C) { err := ioutil.WriteFile(s.keyFile(), []byte("ssh-private-key"), 0600) c.Assert(err, jc.ErrorIsNil) err = upgrades.EnsureSystemSSHKeyRedux(s.ctx) c.Assert(err, jc.ErrorIsNil) info, err := s.State.StateServingInfo() c.Assert(err, jc.ErrorIsNil) c.Assert(info.SystemIdentity, gc.Equals, "ssh-private-key") }
func (s *systemSSHKeyReduxSuite) TestReduxExistsInStateServingInfo(c *gc.C) { err := state.SetSystemIdentity(s.State, "ssh-private-key") c.Assert(err, jc.ErrorIsNil) err = upgrades.EnsureSystemSSHKeyRedux(s.ctx) c.Assert(err, jc.ErrorIsNil) info, err := s.State.StateServingInfo() c.Assert(err, jc.ErrorIsNil) c.Assert(info.SystemIdentity, gc.Equals, "ssh-private-key") }
func (s *updateAuthKeysSuite) SetUpTest(c *gc.C) { s.JujuConnSuite.SetUpTest(c) mockAgent := &mockAgentConfig{dataDir: s.DataDir()} // The ensure system ssh redux has already run. err := upgrades.EnsureSystemSSHKeyRedux(&mockContext{ agentConfig: mockAgent, state: s.State, }) c.Assert(err, jc.ErrorIsNil) s.systemIdentity = s.assertKeyCreation(c) apiState, _ := s.OpenAPIAsNewMachine(c, state.JobManageEnviron) s.ctx = &mockContext{ agentConfig: mockAgent, apiState: apiState, } // Bootstrap adds juju-system-key; remove it. err = s.State.UpdateEnvironConfig(map[string]interface{}{ "authorized-keys": testing.FakeAuthKeys, }, nil, nil) c.Assert(err, jc.ErrorIsNil) }