blob: 75568319720215482e31a1cb0b04642395ab20d4 [file] [log] [blame]
package main
import (
"testing"
"github.com/stretchr/testify/require"
"go.skia.org/infra/go/testutils/unittest"
)
func TestParseTraceURL(t *testing.T) {
unittest.SmallTest(t)
tests := []struct {
traceURL string
expectedBucket string
expectedPath string
expectedError bool
name string
}{
{
traceURL: "https://storage.cloud.google.com/chrome-telemetry-output/xyz/retry_0/trace.html",
expectedBucket: "chrome-telemetry-output",
expectedPath: "xyz/retry_0/trace.html",
expectedError: false,
name: "Well-formed URL with bucket and path",
},
{
traceURL: "https://console.developers.google.com/m/cloudstorage/b/chrome-telemetry-output/xyz/retry_0/trace.html",
expectedBucket: "",
expectedPath: "",
expectedError: true,
name: "Malformed URL",
},
}
for _, test := range tests {
bucket, path, err := parseTraceURL(test.traceURL)
require.Equal(t, test.expectedBucket, bucket, test.name)
require.Equal(t, test.expectedPath, path, test.name)
if test.expectedError {
require.Error(t, err, test.name)
} else {
require.NoError(t, err, test.name)
}
}
}