Permalink
Browse files

Drop the unit arg from Track().

  • Loading branch information...
1 parent f71efb0 commit b3fb5cbc9c31e63a55f22871503f5dbbac378377 @ericsnowcurrently ericsnowcurrently committed May 19, 2016
@@ -27,7 +27,7 @@ var _ = gc.Suite(&PayloadsMongoSuite{})
func (s *PayloadsMongoSuite) TestInsertOps(c *gc.C) {
f := NewPayloadPersistenceFixture()
pl := f.NewPayload("0", "a-unit/0", "docker", "payloadA/payloadA-xyz")
- itxn := insertPayloadTxn{pl.Unit, pl}
+ itxn := insertPayloadTxn{pl}
ops := itxn.ops()
@@ -52,7 +52,7 @@ func (s *PayloadsMongoSuite) TestInsertOps(c *gc.C) {
func (s *PayloadsMongoSuite) TestInsertCheckAssertsMissing(c *gc.C) {
f := NewPayloadPersistenceFixture()
pl := f.NewPayload("0", "a-unit/0", "docker", "payloadA/payloadA-xyz")
- itxn := insertPayloadTxn{pl.Unit, pl}
+ itxn := insertPayloadTxn{pl}
err := itxn.checkAsserts(f.Queries)
c.Assert(err, jc.ErrorIsNil)
@@ -64,7 +64,7 @@ func (s *PayloadsMongoSuite) TestInsertCheckAssertsAlreadyExists(c *gc.C) {
f := NewPayloadPersistenceFixture()
pl := f.NewPayload("0", "a-unit/0", "docker", "payloadA/payloadA-xyz")
f.SetDocs(pl)
- itxn := insertPayloadTxn{pl.Unit, pl}
+ itxn := insertPayloadTxn{pl}
err := itxn.checkAsserts(f.Queries)
@@ -50,12 +50,11 @@ func (pt payloadsTransactions) newTxnSource(ptxn payloadsTransaction) jujutxn.Tr
}
type insertPayloadTxn struct {
- unit string
payload payload.FullPayloadInfo
}
func (itxn insertPayloadTxn) checkAsserts(pq payloadsQueries) error {
- query := payloadIDQuery(itxn.unit, itxn.payload.Name)
+ query := payloadIDQuery(itxn.payload.Unit, itxn.payload.Name)
_, err := pq.one(query)
if err == nil {
return errors.Annotatef(payload.ErrAlreadyExists, "(%s)", itxn.payload.FullID())
@@ -64,10 +64,9 @@ func (pp *Persistence) ListAll() ([]payload.FullPayloadInfo, error) {
// Track adds records for the payload to persistence. If the payload
// is already there then false gets returned (true if inserted).
// Existing records are not checked for consistency.
-func (pp Persistence) Track(unit string, pl payload.FullPayloadInfo) error {
+func (pp Persistence) Track(pl payload.FullPayloadInfo) error {
logger.Tracef("inserting %q - %#v", pl.Name, pl)
txn := &insertPayloadTxn{
- unit: unit,
payload: pl,
}
if err := pp.txns.run(txn); err != nil {
@@ -64,12 +64,25 @@ func (s *PayloadsPersistenceSuite) TestTrackOkay(c *gc.C) {
pl := f.NewPayload("0", "a-unit/0", "docker", "payloadA/payloadA-xyz")
wp := f.NewPersistence()
- err := wp.Track(pl.Unit, pl)
+ err := wp.Track(pl)
c.Assert(err, jc.ErrorIsNil)
f.Stub.CheckCallNames(c, "Run")
}
+func (s *PayloadsPersistenceSuite) TestTrackFailed(c *gc.C) {
+ f := persistence.NewPayloadPersistenceFixture()
+ failure := errors.Errorf("<failed!>")
+ f.Stub.SetErrors(failure)
+ pl := f.NewPayload("0", "a-unit/0", "docker", "payloadA")
+ pp := f.NewPersistence()
+
+ err := pp.Track(pl)
+
+ c.Check(errors.Cause(err), gc.Equals, failure)
+ f.Stub.CheckCallNames(c, "Run")
+}
+
func (s *PayloadsPersistenceSuite) TestSetStatusOkay(c *gc.C) {
f := persistence.NewPayloadPersistenceFixture()
pl := f.NewPayload("0", "a-unit/0", "docker", "payloadA/payloadA-xyz")
@@ -26,8 +26,7 @@ func NewUnitPersistence(pp *Persistence, unit string) *UnitPersistence {
// is already there then false gets returned (true if inserted).
// Existing records are not checked for consistency.
func (up UnitPersistence) Track(pl payload.FullPayloadInfo) error {
- pl.Unit = up.unit
- return up.pp.Track(up.unit, pl)
+ return up.pp.Track(pl)
}
// SetStatus updates the raw status for the identified payload in

0 comments on commit b3fb5cb

Please sign in to comment.