unit test for InstanceProfileCredentialsProvider

This commit is contained in:
zhangzifa
2019-01-18 18:15:04 +08:00
committed by Jackson Tian
parent 48fc5dfe8c
commit e00a04b071
6 changed files with 84 additions and 26 deletions

View File

@@ -64,6 +64,8 @@ add_executable(core_ut
url_ut.cc
utils_ut.cc
instanceprofilecredentialsprovider_ut.cc
locationclient_ut.cc
location_model_describeendpoints_request_ut.cc
location_model_describeendpoints_result_ut.cc

View File

@@ -0,0 +1,56 @@
#include <iostream>
#include <stdio.h>
#include "gtest/gtest.h"
#include "gmock/gmock.h"
#include "alibabacloud/core/InstanceProfileCredentialsProvider.h"
using namespace std;
using namespace AlibabaCloud;
using ::testing::_;
using ::testing::DefaultValue;
class mockInstanceProfileCredentialsProvider: public InstanceProfileCredentialsProvider {
public:
mockInstanceProfileCredentialsProvider(const std::string &roleName, int durationSeconds):
InstanceProfileCredentialsProvider(roleName, durationSeconds) {}
MOCK_METHOD0(getMetadata, std::string());
};
TEST(InstanceProfileCredentialsProvider, basic) {
mockInstanceProfileCredentialsProvider p("test-role-name", 1800);
DefaultValue<std::string>::Set("{\"Code\":\"test-code\",\"AccessKeyId\":\"any-key\",\"AccessKeySecret\":\"any-secret\",\"SecurityToken\":\"any-token\",\"Expiration\":3233}");
EXPECT_CALL(p, getMetadata());
Credentials credentials = p.getCredentials();
EXPECT_TRUE(credentials.accessKeyId() == "any-key");
EXPECT_TRUE(credentials.accessKeySecret() == "any-secret");
EXPECT_TRUE(credentials.sessionToken() == "any-token");
}
TEST(InstanceProfileCredentialsProvider, empty) {
mockInstanceProfileCredentialsProvider p("test-role-name", 1800);
DefaultValue<std::string>::Set("{}");
EXPECT_CALL(p, getMetadata());
Credentials credentials = p.getCredentials();
EXPECT_TRUE(credentials.accessKeyId().empty());
EXPECT_TRUE(credentials.accessKeySecret().empty());
EXPECT_TRUE(credentials.sessionToken().empty());
}
TEST(InstanceProfileCredentialsProvider, empty_1) {
mockInstanceProfileCredentialsProvider p("test-role-name", 1800);
DefaultValue<std::string>::Set("");
EXPECT_CALL(p, getMetadata());
Credentials credentials = p.getCredentials();
EXPECT_TRUE(credentials.accessKeyId().empty());
EXPECT_TRUE(credentials.accessKeySecret().empty());
EXPECT_TRUE(credentials.sessionToken().empty());
}