~nskaggs/+junk/juju-packaging-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/state/backups/testing/metadata.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-27 20:23:11 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161027202311-sux4jk2o73p1d6rg
Re-add src

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2014 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
package testing
 
5
 
 
6
import (
 
7
        "time"
 
8
 
 
9
        "github.com/juju/juju/state/backups"
 
10
)
 
11
 
 
12
const (
 
13
        envID = "49db53ac-a42f-4ab2-86e1-0c6fa0fec762"
 
14
)
 
15
 
 
16
// NewMetadata returns a Metadata to use for testing.
 
17
func NewMetadata() *backups.Metadata {
 
18
        meta := NewMetadataStarted()
 
19
 
 
20
        timestamp := "20140924-010319"
 
21
        id := envID + "." + timestamp
 
22
        meta.SetID(id)
 
23
 
 
24
        FinishMetadata(meta)
 
25
        meta.SetStored(nil)
 
26
        return meta
 
27
}
 
28
 
 
29
// NewMetadataStarted returns a Metadata to use for testing.
 
30
func NewMetadataStarted() *backups.Metadata {
 
31
        meta := backups.NewMetadata()
 
32
        meta.Started = meta.Started.Truncate(time.Second)
 
33
        meta.Origin.Model = envID
 
34
        meta.Origin.Machine = "0"
 
35
        meta.Origin.Hostname = "main-host"
 
36
        return meta
 
37
}
 
38
 
 
39
// FinishMetadata finishes a metadata with test values.
 
40
func FinishMetadata(meta *backups.Metadata) {
 
41
        var size int64 = 10
 
42
        checksum := "787b8915389d921fa23fb40e16ae81ea979758bf"
 
43
        meta.MarkComplete(size, checksum)
 
44
        finished := meta.Started.Add(time.Minute)
 
45
        meta.Finished = &finished
 
46
}
 
47
 
 
48
// UpdateNotes derives a new Metadata with new notes.
 
49
func UpdateNotes(meta *backups.Metadata, notes string) *backups.Metadata {
 
50
        copied := *meta
 
51
        copied.Notes = notes
 
52
        return &copied
 
53
}
 
54
 
 
55
// SetOrigin updates the metadata's origin with the privided information.
 
56
func SetOrigin(meta *backups.Metadata, modelUUID, machine, hostname string) {
 
57
        meta.Origin.Model = modelUUID
 
58
        meta.Origin.Machine = machine
 
59
        meta.Origin.Hostname = hostname
 
60
}