📄 testauthentication.cpp
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF) *//* (C) Copyright IBM Corp. 2003 *//* *//* This software is licensed under the Common Public License (CPL) V1.0. *//*****************************************************************************/#include "STAF.h"#include "STAFString.h"#include "STAF_iostream.h"#include <stdlib.h>void submitRequest(const STAFHandlePtr handlePtr, const STAFString &machine, const STAFString &service, const STAFString &request, bool showResult){ STAFResultPtr result = handlePtr->submit(machine, service, request); if (result->rc != 0) { cout << endl << "STAF " << machine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << endl << "STAF " << machine << " " << service << " " << request << " worked" << endl; if (showResult) { cout << STAFObject::unmarshall(result->result)->asFormattedString() << endl; } }}int main(int argc, char **argv){ if (argc != 4 && argc != 5 && argc != 6) { cout << "Usage: " << endl; cout << " " << argv[0] << " <TargetMachine> <UserId> <Password> [<Auth> [<ToMachine>]]" << endl; cout << "Examples: " << endl; cout << " " << argv[0] << " staf2c User1 Password1 (if SampleAuth is default auth)" << endl; cout << " " << argv[0] << " local User1 Password1 SampleAuth" << endl; cout << " " << argv[0] << " staf2c User1 Password1 SampleAuth staf3a" << endl; return 1; } STAFString machine(argv[1]); // Can be local STAFString userId(argv[2]); STAFString pw(argv[3]); cout << endl; STAFHandlePtr handlePtr; unsigned int rc = 0; STAFString handleName = "STAF/Test/Authentication"; rc = STAFHandle::create(handleName, handlePtr); if (rc != 0) { cout << "Error registering with STAF, RC: " << rc << endl; return rc; } // Assign the orgMachine name by resolving {STAF/Config/Machine} STAFString orgMachine; STAFString local("local"); STAFString service("VAR"); STAFString request("RESOLVE STRING {STAF/Config/Machine}"); STAFResultPtr result = handlePtr->submit(local, service, request); if (result->rc != 0) { cout << endl << "STAF " << local << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; return result->rc; } else { orgMachine = result->result; cout << "OrgMachine = " << orgMachine << endl; } STAFString authenticator; if (argc > 4) { authenticator = argv[4]; cout << "Authenticator= " << authenticator << endl; } else { // Get the local system's default authenticator by resolving {STAF/Config/DefaultAuthenticator} STAFString local("local"); STAFString service("VAR"); STAFString request("RESOLVE STRING {STAF/Config/DefaultAuthenticator}"); STAFResultPtr result = handlePtr->submit(local, service, request); if (result->rc != 0) { cout << endl << "STAF " << local << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; return result->rc; } else { authenticator = result->result; cout << "Authenticator= " << authenticator << endl; } } cout << "UserId = " << userId << endl; cout << "Password = " << pw << endl; cout << "TargetMachine= " << machine << endl; // Get version of Org Machine. If >= 3.0, list its authenticators service = "MISC"; request = "VERSION"; result = handlePtr->submit(orgMachine, service, request); if (result->rc != 0) { cout << endl << "STAF " << orgMachine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "OrgMachineVersion= " << result->result << endl; if (result->result >= "3.0.0") { // List its authenticators service = "SERVICE"; request = "LIST AUTHENTICATORS"; result = handlePtr->submit(orgMachine, service, request); if (result->rc != 0) { cout << endl << "STAF " << orgMachine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "OrgMachineAuthenticators:" << endl << endl << STAFObject::unmarshall(result->result)->asFormattedString() << endl; } } } // List all trusts for Org Machine. service = "TRUST"; request = "LIST"; result = handlePtr->submit(orgMachine, service, request); if (result->rc != 0) { cout << endl << "STAF " << orgMachine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "OrgMachineTrusts:" << endl << endl << STAFObject::unmarshall(result->result)->asFormattedString() << endl; } // Get version of Target Machine. If >= 3.0, list its authenticators service = "MISC"; request = "VERSION"; result = handlePtr->submit(machine, service, request); if (result->rc != 0) { cout << endl << "STAF " << machine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "TargetMachineVersion= " << result->result << endl; if (result->result >= "3.0.0") { // List its authenticators service = "SERVICE"; request = "LIST AUTHENTICATORS"; result = handlePtr->submit(machine, service, request); if (result->rc != 0) { cout << endl << "STAF " << machine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "TargetMachineAuthenticators:" << endl << endl << STAFObject::unmarshall(result->result)->asFormattedString() << endl; } } } // List all trusts for Target Machine. service = "TRUST"; request = "LIST"; result = handlePtr->submit(machine, service, request); if (result->rc != 0) { cout << endl << "STAF " << machine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; } else { cout << "TargetMachineTrusts:" << endl << endl << STAFObject::unmarshall(result->result)->asFormattedString() << endl; } STAFString toMachine; if (argc == 6) toMachine = argv[5]; else toMachine = orgMachine; cout << "ToMachine = " << toMachine << endl; if (toMachine != orgMachine) { // Get version of To Machine. If >= 3.0, list its authenticators service = "MISC"; request = "VERSION"; result = handlePtr->submit(toMachine, service, request); if (result->rc != 0) { cout << endl << "STAF " << toMachine << " " << service << " " << request << endl << "Error submitting request, RC: " << result->rc << endl; if (result->result.length() != 0) cout << "Additional info: " << result->result << endl; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -