50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
package volumes
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestExtractVolumeID(t *testing.T) {
 | 
						|
	var tests = []struct {
 | 
						|
		input          string
 | 
						|
		expectedResult string
 | 
						|
		expectedErr    error
 | 
						|
	}{
 | 
						|
		{
 | 
						|
			input:          "aws://eu-central-1c/vol-01234a5b6c78df9gh",
 | 
						|
			expectedResult: "vol-01234a5b6c78df9gh",
 | 
						|
			expectedErr:    nil,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			input:          "vol-0g9fd87c6b5a43210",
 | 
						|
			expectedResult: "vol-0g9fd87c6b5a43210",
 | 
						|
			expectedErr:    nil,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			input:          "aws://eu-central-1c/01234a5b6c78df9g0",
 | 
						|
			expectedResult: "",
 | 
						|
			expectedErr:    fmt.Errorf("malformed EBS volume id %q", "aws://eu-central-1c/01234a5b6c78df9g0"),
 | 
						|
		},
 | 
						|
		{
 | 
						|
			input:          "hg9fd87c6b5a43210",
 | 
						|
			expectedResult: "",
 | 
						|
			expectedErr:    fmt.Errorf("malformed EBS volume id %q", "hg9fd87c6b5a43210"),
 | 
						|
		},
 | 
						|
	}
 | 
						|
 | 
						|
	resizer := EBSVolumeResizer{}
 | 
						|
 | 
						|
	for _, tt := range tests {
 | 
						|
		volumeId, err := resizer.ExtractVolumeID(tt.input)
 | 
						|
		if volumeId != tt.expectedResult {
 | 
						|
			t.Errorf("%s expected: %s, got %s", t.Name(), tt.expectedResult, volumeId)
 | 
						|
		}
 | 
						|
		if err != tt.expectedErr {
 | 
						|
			if tt.expectedErr != nil && err.Error() != tt.expectedErr.Error() {
 | 
						|
				t.Errorf("%s unexpected error: got %v", t.Name(), err)
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |