]> git.proxmox.com Git - ceph.git/blob - ceph/src/test/test_librgw_admin_user.cc
bump version to 15.2.6-pve1
[ceph.git] / ceph / src / test / test_librgw_admin_user.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3 /*
4 * Ceph - scalable distributed file system
5 *
6 * Copyright (C) 2015 Red Hat, Inc.
7 *
8 * This is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License version 2.1, as published by the Free Software
11 * Foundation. See file COPYING.
12 *
13 */
14
15 #include <string.h>
16 #include "gtest/gtest.h"
17 #include "common/ceph_argparse.h"
18
19 #include "include/rgw/librgw_admin_user.h"
20
21 #define dout_subsys ceph_subsys_rgw
22
23 namespace {
24 librgw_admin_user_t rgw = nullptr;
25 std::string uid("testuser");
26 std::string display_name("testuser");
27 std::string access_key("");
28 std::string secret_key("");
29 std::string email;
30 std::string caps;
31 std::string access_str;
32 bool admin;
33 bool system_user;
34
35 struct {
36 int argc;
37 char **argv;
38 } saved_args;
39 }
40
41 TEST(RGWLibAdmin, INIT) {
42 int ret = librgw_admin_user_create(&rgw, saved_args.argc, saved_args.argv);
43 ASSERT_EQ(ret, 0);
44 ASSERT_NE(rgw, nullptr);
45 }
46
47 TEST(RGWLibAdmin, CREATE) {
48 int ret = rgw_admin_create_user(rgw, uid.c_str(), display_name.c_str(),
49 access_key.c_str(), secret_key.c_str(), caps.c_str(), access_str.c_str(), email.c_str(),
50 admin, system_user);
51 ASSERT_EQ(ret, 0);
52 }
53
54 TEST(RGWLibAdmin, INFO) {
55 struct rgw_user_info user_info;
56 int ret = rgw_admin_user_info(rgw, uid.c_str(), &user_info);
57 ASSERT_EQ(ret, 0);
58 }
59
60 TEST(RGWLibAdmin, SHUTDOWN) {
61 librgw_admin_user_shutdown(rgw);
62 }
63
64 int main(int argc, char *argv[])
65 {
66 char *v{nullptr};
67 std::string val;
68 std::vector<const char*> args;
69
70 argv_to_vec(argc, const_cast<const char**>(argv), args);
71 env_to_vec(args);
72
73 v = getenv("AWS_ACCESS_KEY_ID");
74 if (v) {
75 access_key = v;
76 }
77
78 v = getenv("AWS_SECRET_ACCESS_KEY");
79 if (v) {
80 secret_key = v;
81 }
82
83 for (auto arg_iter = args.begin(); arg_iter != args.end();) {
84 if (ceph_argparse_witharg(args, arg_iter, &val, "--access",
85 (char*) nullptr)) {
86 access_key = val;
87 } else if (ceph_argparse_witharg(args, arg_iter, &val, "--secret",
88 (char*) nullptr)) {
89 secret_key = val;
90 } else if (ceph_argparse_witharg(args, arg_iter, &val, "--uid",
91 (char*) nullptr)) {
92 uid = val;
93 } else {
94 ++arg_iter;
95 }
96 }
97
98 saved_args.argc = argc;
99 saved_args.argv = argv;
100
101 ::testing::InitGoogleTest(&argc, argv);
102 return RUN_ALL_TESTS();
103 }
104