#include "GSSImportNameTest.h"
#include "GSSImportName.h"
-#include "MockImportName.h"
+#include <cache/GSSNameCache.h>
+#include "command_mocks/MockImportName.h"
CPPUNIT_TEST_SUITE_REGISTRATION( GSSImportNameTest );
// copy our output to the appropriate parameters
*minor_status = MockImportName::minor_status;
- *output_name = MockImportName::output_name.toGSS();
+ *output_name = MockImportName::output_name.toGss();
/* Cleanup */
void GSSImportNameTest::testConstructorWithJSONObject()
{
/* Variables */
- const char* input = "{\"method\": \"gss_import_name\", \
- \"arguments\": {\"input_name\": \"http@localhost\", \
- \"input_name_type\": \"{ 1 2 840 113554 1 2 1 4 }\"}}";
+ const char* input = "{\"input_name\": \"http@localhost\", \
+ \"input_name_type\": \"{ 1 2 840 113554 1 2 1 4 }\"}";
json_error_t jsonErr;
JSONObject json = JSONObject::load(input, 0, &jsonErr);
/* Cleanup */
/* Return */
}
+
+
+/* Expected output sample:
+ *
+ * {
+ * "command": "gss_import_name",
+ * "return_values":
+ * {
+ * "major_status": 0,
+ * "minor_status": 0,
+ * "gss_name": "base64_encoded_string"
+ * }
+ * }
+ */
void GSSImportNameTest::testJSONMarshal()
{
/* Variables */
std::string name("dns@google.com");
std::string type("{ 1 2 840 113554 1 2 1 4 }");
+ std::string key;
+ GSSName gssName;
JSONObject *result;
- GSSImportName cmd = GSSImportName(&mock_import_name);
+ GSSImportName cmd;
/* Error checking */
/* Setup */
cmd.setInputName(name);
cmd.setInputNameType(type);
- MockImportName::minor_status = 0;
- MockImportName::retVal = 0;
- MockImportName::output_name.setValue(GSS_C_NO_NAME);
/* Main */
cmd.execute();
result = cmd.toJSON();
- CPPUNIT_ASSERT_EQUAL_MESSAGE(
- "The command name is incorrect",
- std::string("gss_import_name"),
- std::string( (*result)["command"].string() )
- );
+// std::cout << "JSON Output:" << std::endl << result->dump(4) << std::endl;
CPPUNIT_ASSERT_EQUAL_MESSAGE(
"The return value was reported incorrectly",
(int)MockImportName::retVal,
- (int)( (*result)["return_values"]["major_status"].integer() )
+ (int)( (*result)["major_status"].integer() )
);
CPPUNIT_ASSERT_EQUAL_MESSAGE(
"The minor_status value was reported incorrectly",
(int)MockImportName::minor_status,
- (int)( (*result)["return_values"]["minor_status"].integer() )
+ (int)( (*result)["minor_status"].integer() )
);
+ key = (*result)["gss_name"].string();
+ gssName = GSSNameCache::instance()->retrieve(key);
+
CPPUNIT_ASSERT_EQUAL_MESSAGE(
"The gss_name was reported incorrectly",
- std::string("constant for now"),
- std::string( (*result)["return_values"]["gss_name"].string() )
+ name,
+ gssName.toString()
);