blob: 819bf081f62f2e5ec5383330e97d9e291ab1ee17 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
using System;
using System.Collections.Generic;
using Xunit;
using Xunit.Abstractions;
namespace Apache.Geode.Client.IntegrationTests
{
[Trait("Category", "Integration")]
public class GfshTest : TestBase
{
public GfshTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper)
{
}
[Fact]
public void InstantiateGfshClassesTest()
{
var gfsh = new GfshExecute(output);
var start = gfsh.start();
Assert.NotNull(start);
var stop = gfsh.stop();
Assert.NotNull(stop);
var create = gfsh.create();
Assert.NotNull(create);
var shutdown = gfsh.shutdown();
Assert.NotNull(shutdown);
var configurePdx = gfsh.configurePdx();
Assert.NotNull(configurePdx);
}
[Fact]
public void StartLocatorStringsTest()
{
var Gfsh = new GfshExecute(output);
var locator = Gfsh
.start()
.locator();
var s = locator.ToString();
Assert.Equal("start locator", s);
locator = Gfsh
.start()
.locator()
.withName("name")
.withDir("dir")
.withBindAddress("address")
.withPort(420)
.withJmxManagerPort(1111)
.withHttpServicePort(2222)
.withLogLevel("fine")
.withMaxHeap("someHugeAmount")
.withConnect(false)
.withSslEnableComponents("locator,jmx")
.withSslKeyStore("some/path/keystore.jks")
.withSslKeyStorePassword("password1")
.withSslTrustStore("some/path/truststore.jks")
.withSslTrustStorePassword("password2");
s = locator.ToString();
Assert.Equal("start locator --name=name --dir=dir --bind-address=address --port=420 " +
"--J=-Dgemfire.jmx-manager-port=1111 --http-service-port=2222 --log-level=fine --max-heap=someHugeAmount " +
"--connect=false --J=-Dgemfire.ssl-enabled-components=locator,jmx " +
"--J=-Dgemfire.ssl-keystore=some/path/keystore.jks --J=-Dgemfire.ssl-keystore-password=password1 " +
"--J=-Dgemfire.ssl-truststore=some/path/truststore.jks --J=-Dgemfire.ssl-truststore-password=password2", s);
}
[Fact]
public void StartServerStringsTest()
{
var Gfsh = new GfshExecute(output);
var currentDir = Environment.CurrentDirectory;
var server = Gfsh
.start()
.server();
var s = server.ToString();
Assert.Equal("start server", s);
server = Gfsh
.start()
.server()
.withName("server")
.withDir("someDir")
.withBindAddress("someAddress")
.withPort(1234)
.withLocators("someLocator")
.withLogLevel("debug")
.withMaxHeap("1.21gigabytes")
.withSslEnableComponents("server,locator,jmx")
.withSslKeyStore("some/path/keystore.jks")
.withSslKeyStorePassword("password1")
.withSslTrustStore("some/path/truststore.jks")
.withSslTrustStorePassword("password2");
s = server.ToString();
Assert.Equal("start server --name=server " +
"--dir=someDir --bind-address=someAddress --server-port=1234 --locators=someLocator --log-level=debug " +
"--max-heap=1.21gigabytes --J=-Dgemfire.ssl-enabled-components=server,locator,jmx " +
"--J=-Dgemfire.ssl-keystore=some/path/keystore.jks --J=-Dgemfire.ssl-keystore-password=password1 " +
"--J=-Dgemfire.ssl-truststore=some/path/truststore.jks --J=-Dgemfire.ssl-truststore-password=password2", s);
}
[Fact]
public void StopLocatorStringsTest()
{
var locator = new GfshExecute(output)
.stop()
.locator();
var s = locator.ToString();
Assert.Equal("stop locator", s);
locator = new GfshExecute(output).stop().locator()
.withName("name")
.withDir("dir");
s = locator.ToString();
Assert.Equal("stop locator --name=name --dir=dir", s);
}
[Fact]
public void StopServerStringsTest()
{
var server = new GfshExecute(output)
.stop()
.server();
var s = server.ToString();
Assert.Equal("stop server", s);
server = new GfshExecute(output)
.stop()
.server()
.withName("server")
.withDir("someDir");
s = server.ToString();
Assert.Equal("stop server --name=server --dir=someDir", s);
}
[Fact]
public void CreateRegionStringsTest()
{
var region = new GfshExecute(output)
.create()
.region();
var s = region.ToString();
Assert.Equal("create region", s);
region = new GfshExecute(output)
.create()
.region()
.withName("region")
.withType("PARTITION");
s = region.ToString();
Assert.Equal("create region --name=region --type=PARTITION", s);
}
[Fact]
public void ShutdownStringsTest()
{
var shutdown = new GfshExecute(output)
.shutdown();
var s = shutdown.ToString();
Assert.Equal("shutdown", s);
shutdown = new GfshExecute(output)
.shutdown()
.withIncludeLocators(true);
s = shutdown.ToString();
Assert.Equal("shutdown --include-locators=true", s);
shutdown = new GfshExecute(output)
.shutdown()
.withIncludeLocators(false);
s = shutdown.ToString();
Assert.Equal("shutdown --include-locators=false", s);
}
[Fact]
public void ConfigurePdxStringsTest()
{
var configurePdx = new GfshExecute(output)
.configurePdx();
var s = configurePdx.ToString();
Assert.Equal("configure pdx", s);
configurePdx = new GfshExecute(output)
.configurePdx()
.withReadSerialized(true);
s = configurePdx.ToString();
Assert.Equal( "configure pdx --read-serialized=true", s);
configurePdx = new GfshExecute(output)
.configurePdx()
.withReadSerialized(false);
s = configurePdx.ToString();
Assert.Equal("configure pdx --read-serialized=false", s);
}
[Fact]
public void ConnectStringsTest()
{
var Gfsh = new GfshExecute(output);
var connect = Gfsh
.connect();
var s = connect.ToString();
Assert.Equal(s, "connect");
connect = Gfsh
.connect()
.withJmxManager("localhost", 1234)
.withUseSsl(true)
.withKeyStore("some/path/keystore.jks")
.withKeyStorePassword("password1")
.withTrustStore("some/path/truststore.jks")
.withTrustStorePassword("password2");
s = connect.ToString();
Assert.Equal("connect --jmx-manager=localhost[1234] --use-ssl=true " +
"--key-store=some/path/keystore.jks --key-store-password=password1 " +
"--trust-store=some/path/truststore.jks --trust-store-password=password2", s);
}
}
}