+ /* Variables */
+ GSSOIDSet actualMechs;
+ JSONObject *result;
+ GSSAcquireCred cmd = GSSAcquireCred(&mock_acquire_cred);
+
+ /* Error checking */
+ /* Setup */
+ actualMechs.addOID( GSSOID( (char *)"{ 1 2 3 4 }" ) );
+ actualMechs.addOID( GSSOID( (char *)"{ 5 6 7 8 }" ) );
+ MockAcquireCred::reset();
+ MockAcquireCred::retVal = 0;
+ MockAcquireCred::minor_status = 0;
+ MockAcquireCred::output_cred_handle = GSS_C_NO_CREDENTIAL;
+ MockAcquireCred::actual_mechs = actualMechs.toGss();
+ MockAcquireCred::time_rec = 0;
+
+ /* Main */
+ cmd.execute();
+ result = cmd.toJSON();
+
+ std::cout << "\n" << result->dump() << "\n";
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(
+ "The command name is incorrect",
+ std::string("gss_acquire_cred"),
+ std::string( (*result)["command"].string() )
+ );
+
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(
+ "The return value was reported incorrectly",
+ (int)MockAcquireCred::retVal,
+ (int)( (*result)["return_values"]["major_status"].integer() )
+ );
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(
+ "The minor_status value was reported incorrectly",
+ (int)MockAcquireCred::minor_status,
+ (int)( (*result)["return_values"]["minor_status"].integer() )
+ );
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(
+ "The gss_name was reported incorrectly",
+ std::string("{ 1 2 3 4 }"),
+ std::string( (*result)["return_values"]["actual_mechs"][(size_t)0].string() )
+ );
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(
+ "The gss_name was reported incorrectly",
+ std::string("{ 5 6 7 8 }"),
+ std::string( (*result)["return_values"]["actual_mechs"][(size_t)1].string() )
+ );
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(
+ "The minor_status value was reported incorrectly",
+ (int)MockAcquireCred::time_rec,
+ (int)( (*result)["return_values"]["time_rec"].integer() )
+ );
+
+
+ /* Cleanup */
+ /* Return */