|  | @@ -158,6 +158,49 @@ func TestContextHelpACI(t *testing.T) {
 | 
	
		
			
				|  |  |  	})
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +func TestContextMetrics(t *testing.T) {
 | 
	
		
			
				|  |  | +	c := NewParallelE2eCLI(t, binDir)
 | 
	
		
			
				|  |  | +	s := NewMetricsServer(c.MetricsSocket())
 | 
	
		
			
				|  |  | +	s.Start()
 | 
	
		
			
				|  |  | +	defer s.Stop()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	t.Run("metrics on default context", func(t *testing.T) {
 | 
	
		
			
				|  |  | +		s.ResetUsage()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("ps")
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("version")
 | 
	
		
			
				|  |  | +		c.RunDockerOrExitError("version", "--xxx")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		usage := s.GetUsage()
 | 
	
		
			
				|  |  | +		assert.Equal(t, 3, len(usage))
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"ps","context":"moby","source":"cli","status":"success"}`, usage[0])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"version","context":"moby","source":"cli","status":"success"}`, usage[1])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"version","context":"moby","source":"cli","status":"failure"}`, usage[2])
 | 
	
		
			
				|  |  | +	})
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	t.Run("metrics on other context type", func(t *testing.T) {
 | 
	
		
			
				|  |  | +		s.ResetUsage()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("context", "create", "example", "test-example")
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("ps")
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("context", "use", "test-example")
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("ps")
 | 
	
		
			
				|  |  | +		c.RunDockerOrExitError("error")
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("context", "use", "default")
 | 
	
		
			
				|  |  | +		c.RunDockerCmd("--context", "test-example", "ps")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		usage := s.GetUsage()
 | 
	
		
			
				|  |  | +		assert.Equal(t, 7, len(usage))
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"context create","context":"moby","source":"cli","status":"success"}`, usage[0])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"ps","context":"moby","source":"cli","status":"success"}`, usage[1])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"context use","context":"moby","source":"cli","status":"success"}`, usage[2])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"ps","context":"example","source":"cli","status":"success"}`, usage[3])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"error","context":"example","source":"cli","status":"failure"}`, usage[4])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"context use","context":"example","source":"cli","status":"success"}`, usage[5])
 | 
	
		
			
				|  |  | +		assert.Equal(t, `{"command":"ps","context":"example","source":"cli","status":"success"}`, usage[6])
 | 
	
		
			
				|  |  | +	})
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  func TestContextDuplicateACI(t *testing.T) {
 | 
	
		
			
				|  |  |  	c := NewParallelE2eCLI(t, binDir)
 | 
	
		
			
				|  |  |  
 |