|
@@ -35,3 +35,48 @@ func TestIsolationConversion(t *testing.T) {
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func TestContainerLabels(t *testing.T) {
|
|
|
+ c := &containerConfig{
|
|
|
+ task: &swarmapi.Task{
|
|
|
+ ID: "real-task.id",
|
|
|
+ Spec: swarmapi.TaskSpec{
|
|
|
+ Runtime: &swarmapi.TaskSpec_Container{
|
|
|
+ Container: &swarmapi.ContainerSpec{
|
|
|
+ Labels: map[string]string{
|
|
|
+ "com.docker.swarm.task": "user-specified-task",
|
|
|
+ "com.docker.swarm.task.id": "user-specified-task.id",
|
|
|
+ "com.docker.swarm.task.name": "user-specified-task.name",
|
|
|
+ "com.docker.swarm.node.id": "user-specified-node.id",
|
|
|
+ "com.docker.swarm.service.id": "user-specified-service.id",
|
|
|
+ "com.docker.swarm.service.name": "user-specified-service.name",
|
|
|
+ "this-is-a-user-label": "this is a user label's value",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ServiceID: "real-service.id",
|
|
|
+ Slot: 123,
|
|
|
+ NodeID: "real-node.id",
|
|
|
+ Annotations: swarmapi.Annotations{
|
|
|
+ Name: "real-service.name.123.real-task.id",
|
|
|
+ },
|
|
|
+ ServiceAnnotations: swarmapi.Annotations{
|
|
|
+ Name: "real-service.name",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
+
|
|
|
+ expected := map[string]string{
|
|
|
+ "com.docker.swarm.task": "",
|
|
|
+ "com.docker.swarm.task.id": "real-task.id",
|
|
|
+ "com.docker.swarm.task.name": "real-service.name.123.real-task.id",
|
|
|
+ "com.docker.swarm.node.id": "real-node.id",
|
|
|
+ "com.docker.swarm.service.id": "real-service.id",
|
|
|
+ "com.docker.swarm.service.name": "real-service.name",
|
|
|
+ "this-is-a-user-label": "this is a user label's value",
|
|
|
+ }
|
|
|
+
|
|
|
+ labels := c.labels()
|
|
|
+ assert.DeepEqual(t, expected, labels)
|
|
|
+}
|