You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by echobravopapa <gi...@git.apache.org> on 2017/03/23 20:07:06 UTC

[GitHub] geode-native pull request #71: GEODE-2687: Ensure three tests for SSL authen...

Github user echobravopapa commented on a diff in the pull request:

    https://github.com/apache/geode-native/pull/71#discussion_r107770677
  
    --- Diff: src/cppcache/integration-test/testThinClientSSLAuthFail.cpp ---
    @@ -15,8 +15,180 @@
      * limitations under the License.
      */
     
    -#include "ThinClientSSLAuthFail.hpp"
    +#include "fw_dunit.hpp"
    +#include <geode/GeodeCppCache.hpp>
    +#include <ace/OS.h>
    +#include <ace/High_Res_Timer.h>
    +#include <string>
    +
    +#define ROOT_NAME "ThinClientSSLAuthFail"
    +#define ROOT_SCOPE DISTRIBUTED_ACK
    +
    +#include "CacheHelper.hpp"
    +
    +using namespace apache::geode::client;
    +using namespace test;
    +
    +CacheHelper* cacheHelper = NULL;
    +bool isLocalServer = false;
    +
    +static bool isLocator = false;
    +const char* locatorsG =
    +    CacheHelper::getLocatorHostPort(isLocator, isLocalServer, 1);
    +
    +#define CLIENT1 s1p1
    +#define SERVER1 s2p1
    +
    +void initClient(const bool isthinClient) {
    +  if (cacheHelper == NULL) {
    +    PropertiesPtr props = Properties::create();
    +    props->insert("ssl-enabled", "true");
    +    std::string keystore = std::string(ACE_OS::getenv("TESTSRC")) + "/keystore";
    +    std::string pubkey = keystore + "/client_truststore.pem";
    +    std::string privkey = keystore + "/client_keystore.pem";
    +    props->insert("ssl-keystore", privkey.c_str());
    +    props->insert("ssl-truststore", pubkey.c_str());
    +    cacheHelper = new CacheHelper(isthinClient, props);
    +  }
    +  ASSERT(cacheHelper, "Failed to create a CacheHelper client instance.");
    +}
    +void cleanProc() {
    +  if (cacheHelper != NULL) {
    +    delete cacheHelper;
    +    cacheHelper = NULL;
    +  }
    +}
    +
    +CacheHelper* getHelper() {
    +  ASSERT(cacheHelper != NULL, "No cacheHelper initialized.");
    +  return cacheHelper;
    +}
    +
    +
    +void createPooledRegion(const char* name, bool ackMode, const char* locators,
    +                        const char* poolname,
    +                        bool clientNotificationEnabled = false,
    +                        bool cachingEnable = true) {
    +  LOG("createRegion_Pool() entered.");
    +  fprintf(stdout, "Creating region --  %s  ackMode is %d\n", name, ackMode);
    +  fflush(stdout);
    +  RegionPtr regPtr =
    +      getHelper()->createPooledRegion(name, ackMode, locators, poolname,
    +                                      cachingEnable, clientNotificationEnabled);
    +  ASSERT(regPtr != NULLPTR, "Failed to create region.");
    +  LOG("Pooled Region created.");
    +}
    +
    +void createEntry(const char* name, const char* key, const char* value) {
    +  LOG("createEntry() entered.");
    +  fprintf(stdout, "Creating entry -- key: %s  value: %s in region %s\n", key,
    +          value, name);
    +  fflush(stdout);
    +  // Create entry, verify entry is correct
    +  CacheableKeyPtr keyPtr = createKey(key);
    +  CacheableStringPtr valPtr = CacheableString::create(value);
    +
    +  RegionPtr regPtr = getHelper()->getRegion(name);
    +  ASSERT(regPtr != NULLPTR, "Region not found.");
    +
    +  ASSERT(!regPtr->containsKey(keyPtr),
    +         "Key should not have been found in region.");
    +  ASSERT(!regPtr->containsValueForKey(keyPtr),
    +         "Value should not have been found in region.");
    +
    +  // regPtr->create( keyPtr, valPtr );
    +  regPtr->put(keyPtr, valPtr);
    +  LOG("Created entry.");
    +
    +  //verifyEntry(name, key, value);
    +  LOG("Entry created.");
    +}
    +
    +
    +
    +const char* keys[] = {"Key-1", "Key-2", "Key-3", "Key-4"};
    +const char* vals[] = {"Value-1", "Value-2", "Value-3", "Value-4"};
    +const char* nvals[] = {"New Value-1", "New Value-2", "New Value-3",
    +                       "New Value-4"};
    +
    +const char* regionNames[] = {"DistRegionAck", "DistRegionNoAck"};
    +
    +const bool USE_ACK = true;
    +const bool NO_ACK = false;
    +
    +DUNIT_TASK_DEFINITION(SERVER1, CreateLocator1_With_SSL_untrustedCert)
    +  {
    +    // starting locator
    +    if (isLocator) CacheHelper::initLocator(1, true, false, -1, 0, true);
    +    LOG("Locator1 started with SSL");
    +  }
    +END_TASK_DEFINITION
    +
    +
    +
    +DUNIT_TASK_DEFINITION(SERVER1, CreateServer1_With_Locator_And_SSL_untrustedCert)
    +  {
    +    // starting servers
    +    if (isLocalServer) CacheHelper::initServer(1, NULL, locatorsG, NULL, true, true, false, false, true);
    +  }
    +END_TASK_DEFINITION
    +
    +DUNIT_TASK_DEFINITION(CLIENT1, CreateClient1)
    +  { initClient(true); }
    +END_TASK_DEFINITION
    +
    +DUNIT_TASK_DEFINITION(CLIENT1, CreateRegions1_PoolLocators)
    +  {
    +    createPooledRegion(regionNames[0], USE_ACK, locatorsG, "__TESTPOOL1_",
    +                       true);
    +    createPooledRegion(regionNames[1], NO_ACK, locatorsG, "__TESTPOOL1_", true);
    +    RegionPtr regPtr = getHelper()->getRegion(regionNames[0]);
    +    try {
    +      regPtr->registerAllKeys(false, NULLPTR, false, false);
    +      FAIL("Should have got NotConnectedException during registerAllKeys");
    --- End diff --
    
    Good change here, we missed that first go around...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---