2 * Copyright (c) 2014 <copyright holder> <email>
4 * For license details, see the LICENSE file in the root of this project.
8 #include "GSSAcquireCredTest.h"
9 #include "GSSAcquireCred.h"
10 #include "command_mocks/MockAcquireCred.h"
11 #include <datamodel/GSSName.h>
14 CPPUNIT_TEST_SUITE_REGISTRATION( GSSAcquireCredTest );
16 OM_uint32 KRB5_CALLCONV
18 OM_uint32 *minor_status,
19 gss_name_t desired_name,
21 gss_OID_set desired_mechs,
22 gss_cred_usage_t cred_usage,
23 gss_cred_id_t * output_cred_handle,
24 gss_OID_set * actual_mechs,
28 // Set MockAcquireCred attributes from our in-parameters
29 MockAcquireCred::desired_name = desired_name;
30 MockAcquireCred::time_req = time_req;
31 MockAcquireCred::desired_mechs = desired_mechs;
32 MockAcquireCred::cred_usage = cred_usage;
34 // Set our out-parameters from MockAcquireCred
35 *output_cred_handle = MockAcquireCred::output_cred_handle;
36 *actual_mechs = MockAcquireCred::actual_mechs;
37 *time_rec = MockAcquireCred::time_rec;
39 *minor_status = MockAcquireCred::minor_status;
40 return(MockAcquireCred::retVal);
43 void GSSAcquireCredTest::setUp()
48 void GSSAcquireCredTest::tearDown()
53 void GSSAcquireCredTest::testConstructor()
56 GSSAcquireCred cmd = GSSAcquireCred();
61 CPPUNIT_ASSERT_EQUAL_MESSAGE(
62 "The GSSImportName object has the wrong GSS function",
71 void GSSAcquireCredTest::testConstructorWithJSONObject()
76 void GSSAcquireCredTest::testEmptyCall()
79 GSSAcquireCred cmd = GSSAcquireCred(&mock_acquire_cred);
81 GSSName steve((char *)"steve@local", (gss_OID)GSS_C_NT_USER_NAME);
82 GSSOID moonshotOID((char *)"{1 3 6 1 5 5 15 1 1 18}");
86 cmd.setDesiredName(steve);
88 cmd.addDesiredMech( moonshotOID );
89 cmd.setCredUsage(GSS_C_INITIATE);
92 MockAcquireCred::retVal = 0;
93 MockAcquireCred::minor_status = 0;
94 MockAcquireCred::output_cred_handle = GSS_C_NO_CREDENTIAL;
95 gss_create_empty_oid_set(&minor, &(MockAcquireCred::actual_mechs));
96 MockAcquireCred::time_rec = rand();
101 CPPUNIT_ASSERT_EQUAL_MESSAGE(
102 "The desired name was not passed in correctly",
104 MockAcquireCred::desired_name
107 CPPUNIT_ASSERT_EQUAL_MESSAGE(
108 "The time_req was not passed in correctly",
110 MockAcquireCred::time_req
113 CPPUNIT_ASSERT_EQUAL_MESSAGE(
114 "The desired mechs were not passed in correctly",
115 cmd.getDesiredMechs(),
116 MockAcquireCred::desired_mechs
119 CPPUNIT_ASSERT_EQUAL_MESSAGE(
120 "The cred_usage was not passed in correctly",
122 MockAcquireCred::cred_usage
125 CPPUNIT_ASSERT_EQUAL_MESSAGE(
126 "The output credential handle was not passed in correctly",
127 MockAcquireCred::output_cred_handle,
128 cmd.getOutputCredHandle()
131 CPPUNIT_ASSERT_EQUAL_MESSAGE(
132 "The actual mechanisms value was not passed in correctly",
133 MockAcquireCred::actual_mechs->count,
134 cmd.getActualMechs()->count
137 CPPUNIT_ASSERT_EQUAL_MESSAGE(
138 "The time_rec value was not passed in correctly",
139 MockAcquireCred::time_rec,
148 void GSSAcquireCredTest::testJSONMarshal()