unit test for InstanceProfileCredentialsProvider
This commit is contained in:
@@ -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
|
||||
|
||||
56
test/core/instanceprofilecredentialsprovider_ut.cc
Normal file
56
test/core/instanceprofilecredentialsprovider_ut.cc
Normal 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());
|
||||
}
|
||||
Reference in New Issue
Block a user