31 lines
741 B
C++
31 lines
741 B
C++
|
#include "gtest/gtest.h"
|
||
|
#include "jwt/jwt.hpp"
|
||
|
|
||
|
namespace {
|
||
|
|
||
|
struct Wrapper
|
||
|
{
|
||
|
// The std::move here is required to resolve to the move ctor
|
||
|
// rather than to the universal reference ctor.
|
||
|
Wrapper(jwt::jwt_object&& obj) : object{std::move(obj)} {}
|
||
|
jwt::jwt_object object;
|
||
|
};
|
||
|
|
||
|
} // END namespace
|
||
|
|
||
|
TEST (ObjectTest, MoveConstructor)
|
||
|
{
|
||
|
using namespace jwt::params;
|
||
|
|
||
|
jwt::jwt_object obj{algorithm("HS256"), secret("secret")};
|
||
|
|
||
|
obj.add_claim("iss", "arun.muralidharan");
|
||
|
|
||
|
auto wrapper = Wrapper{std::move(obj)};
|
||
|
|
||
|
EXPECT_EQ(wrapper.object.header().algo(), jwt::algorithm::HS256);
|
||
|
EXPECT_EQ(wrapper.object.secret(), "secret");
|
||
|
EXPECT_TRUE(wrapper.object.payload().has_claim_with_value("iss", "arun.muralidharan"));
|
||
|
}
|
||
|
|