fix(region): currency rate exchange (#20334)

This commit is contained in:
屈轩
2024-05-21 19:22:00 +08:00
committed by GitHub
parent f36286f01f
commit b4cd3d758c
2 changed files with 4 additions and 4 deletions
+3 -3
View File
@@ -115,15 +115,15 @@ func (self *SSkuResourcesMeta) head(url string) (http.Header, jsonutils.JSONObje
return _header, resp, err
}
func (self *SSkuResourcesMeta) GetCurrencyRate(currency string) (float64, error) {
url := fmt.Sprintf("%s/%s", self.CurrencyExchangeBase, currency)
func (self *SSkuResourcesMeta) GetCurrencyRate(src, dest string) (float64, error) {
url := fmt.Sprintf("%s/%s-%s", self.CurrencyExchangeBase, src, dest)
header, _, err := self.head(url)
if err != nil {
return 0.0, errors.Wrapf(err, "head %s", url)
}
rate := header.Get("x-oss-meta-rate")
if len(rate) == 0 {
return 0.0, errors.Wrapf(cloudprovider.ErrNotFound, "x-oss-meta-rate %s", currency)
return 0.0, errors.Wrapf(cloudprovider.ErrNotFound, "x-oss-meta-rate %s -> %s", src, dest)
}
return strconv.ParseFloat(rate, 64)
}
+1 -1
View File
@@ -29,7 +29,7 @@ func TestCurrencyRate(t *testing.T) {
if err != nil {
t.Fatalf("Unmarshal meta error: %v", err)
}
rate, err := meta.GetCurrencyRate("USD")
rate, err := meta.GetCurrencyRate("CNY", "USD")
if err != nil {
t.Fatalf("get used rate error: %v", rate)
}