func updateNodeAvailability(t *testing.T, s *store.MemoryStore, node *api.Node, avail api.NodeSpec_Availability) { node.Spec.Availability = avail s.Update(func(tx store.Tx) error { assert.NoError(t, store.UpdateNode(tx, node)) return nil }) }
func createNode(s *store.MemoryStore, nodeID, role string, csr, cert []byte) error { apiRole, _ := ca.FormatRole(role) err := s.Update(func(tx store.Tx) error { node := &api.Node{ ID: nodeID, Certificate: api.Certificate{ CSR: csr, CN: nodeID, Role: apiRole, Status: api.IssuanceStatus{ State: api.IssuanceStateIssued, }, Certificate: cert, }, Spec: api.NodeSpec{ Role: apiRole, Membership: api.NodeMembershipAccepted, }, } return store.CreateNode(tx, node) }) return err }
func createCluster(t *testing.T, s *store.MemoryStore, id, name string) *api.Cluster { spec := createClusterSpec(name) cluster := &api.Cluster{ ID: id, Spec: *spec, } assert.NoError(t, s.Update(func(tx store.Tx) error { return store.CreateCluster(tx, cluster) })) return cluster }
func createClusterObject(t *testing.T, s *store.MemoryStore, acceptancePolicy api.AcceptancePolicy) { assert.NoError(t, s.Update(func(tx store.Tx) error { store.CreateCluster(tx, &api.Cluster{ ID: identity.NewID(), Spec: api.ClusterSpec{ Annotations: api.Annotations{ Name: store.DefaultClusterName, }, AcceptancePolicy: acceptancePolicy, }, }) return nil })) }
func createClusterObject(t *testing.T, s *store.MemoryStore, clusterID string, acceptancePolicy api.AcceptancePolicy, externalCAs ...*api.ExternalCA) { assert.NoError(t, s.Update(func(tx store.Tx) error { store.CreateCluster(tx, &api.Cluster{ ID: clusterID, Spec: api.ClusterSpec{ Annotations: api.Annotations{ Name: store.DefaultClusterName, }, AcceptancePolicy: acceptancePolicy, CAConfig: api.CAConfig{ ExternalCAs: externalCAs, }, }, }) return nil })) }
func createClusterObject(t *testing.T, s *store.MemoryStore, clusterID, workerToken, managerToken string, externalCAs ...*api.ExternalCA) { assert.NoError(t, s.Update(func(tx store.Tx) error { store.CreateCluster(tx, &api.Cluster{ ID: clusterID, Spec: api.ClusterSpec{ Annotations: api.Annotations{ Name: store.DefaultClusterName, }, CAConfig: api.CAConfig{ ExternalCAs: externalCAs, }, }, RootCA: api.RootCA{ JoinTokens: api.JoinTokens{ Worker: workerToken, Manager: managerToken, }, }, }) return nil })) }
func deleteTask(t *testing.T, s *store.MemoryStore, task *api.Task) { s.Update(func(tx store.Tx) error { assert.NoError(t, store.DeleteTask(tx, task.ID)) return nil }) }
func deleteNode(t *testing.T, s *store.MemoryStore, node *api.Node) { s.Update(func(tx store.Tx) error { assert.NoError(t, store.DeleteNode(tx, node.ID)) return nil }) }
func deleteService(t *testing.T, s *store.MemoryStore, service *api.Service) { s.Update(func(tx store.Tx) error { assert.NoError(t, store.DeleteService(tx, service.ID)) return nil }) }