package utils

import "testing"

func TestParseOrgIDFromPath(t *testing.T) {
	url1 := "/api/v1/orgs/1234/projects/8899/clusters/cC51Cc/tiflash_nodes"
	url2 := "/api/v1/orgs/1234/node_profiles/query"
	url3 := "/api/v1/orgs/1234/projects/8899/traffic_filter"
	url4 := "/api/v1/orgs/1234/projects/8899/clusters/7273/spendlimit"
	url5 := "/api/v1/orgs/1234/projects/8899/clusters/7273"

	orgID1, _ := ParseOrgIDFromPath(url1)
	if orgID1 != 1234 {
		t.Errorf("orgID1 should be 1234, but got %d", orgID1)
	}

	orgID2, _ := ParseOrgIDFromPath(url2)
	if orgID2 != 1234 {
		t.Errorf("orgID2 should be 1234, but got %d", orgID2)
	}
	orgID3, _ := ParseOrgIDFromPath(url3)
	if orgID3 != 1234 {
		t.Errorf("orgID3 should be 1234, but got %d", orgID3)
	}

	projID1, _ := ParseProjIDFromPath(url1)
	if projID1 != 8899 {
		t.Errorf("projID1 should be 8899, but got %d", projID1)
	}

	projID2, _ := ParseProjIDFromPath(url2)
	if projID2 != 0 {
		t.Errorf("projID2 should be 0, but got %d", projID2)
	}

	projID3, _ := ParseProjIDFromPath(url3)
	if projID3 != 8899 {
		t.Errorf("projID3 should be 8899, but got %d", projID3)
	}

	clusterID4, _ := ParseClusterIDFromPath(url4)
	if clusterID4 != 7273 {
		t.Errorf("clusterID should be 7273, but got %d", clusterID4)
	}

	clusterID5, _ := ParseClusterIDFromPath(url5)
	if clusterID5 != 7273 {
		t.Errorf("clusterID should be 7273, but got %d", clusterID5)
	}
}
