package com.sequenceiq.cloudbreak.cloud.gcp.util;
import java.util.HashMap;
import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import com.sequenceiq.cloudbreak.cloud.model.CloudCredential;
public class GcpStackUtilTest {
@Test
public void projectIdConverterWithNewNameRestrictions() {
String projectId = GcpStackUtil.getProjectId(cloudCredential("siq-haas"));
Assert.assertEquals(projectId, "siq-haas");
projectId = GcpStackUtil.getProjectId(cloudCredential("siq-haas123"));
Assert.assertEquals(projectId, "siq-haas123");
projectId = GcpStackUtil.getProjectId(cloudCredential("Siq-haas123"));
Assert.assertEquals(projectId, "siq-haas123");
}
@Test
public void projectIdConverterWithOldNameRestrictions() {
String projectId = GcpStackUtil.getProjectId(cloudCredential("echo:siq-haas"));
Assert.assertEquals(projectId, "echo-siq-haas");
projectId = GcpStackUtil.getProjectId(cloudCredential("echo:>siq>-haas"));
Assert.assertEquals(projectId, "echo--siq--haas");
projectId = GcpStackUtil.getProjectId(cloudCredential("e?cho:siq-haas123"));
Assert.assertEquals(projectId, "e-cho-siq-haas123");
projectId = GcpStackUtil.getProjectId(cloudCredential("echo:siq-hasfdsf12?as"));
Assert.assertEquals(projectId, "echo-siq-hasfdsf12-as");
}
private CloudCredential cloudCredential(String projectId) {
Map<String, Object> parameters = new HashMap<>();
parameters.put("projectId", projectId);
return new CloudCredential(1L, "test", "sshkey", "cloudbreak", parameters);
}
}