blob: 452bb3ddf69870d405702bbca7691ac587af7a60 [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;
namespace Apache.Geode.Client.IntegrationTests
{
[Trait("Category", "Integration")]
public class GfshTest : IDisposable
{
public void Dispose()
{
}
[Fact]
public void InstantiateGfshClassesTest()
{
var gfsh = new GfshExecute();
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();
var currentDir = Environment.CurrentDirectory;
Gfsh.Keystore = "some/path/keystore.jks";
Gfsh.KeystorePassword = "password";
Gfsh.Truststore = "some/path/truststore.jks";
Gfsh.TruststorePassword = "password";
var locator = Gfsh
.start()
.locator();
var s = locator.ToString();
Assert.True(s.Equals("start locator"));
locator = Gfsh
.start()
.locator()
.withName("name")
.withDir("dir")
.withBindAddress("address")
.withPort(420)
.withJmxManagerPort(1111)
.withHttpServicePort(2222)
.withLogLevel("fine")
.withMaxHeap("someHugeAmount")
.withConnect(false)
.withUseSsl();
s = locator.ToString();
Assert.Equal(s, "start locator --name=name --dir=dir " +
"--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=password " +
"--J=-Dgemfire.ssl-truststore=some/path/truststore.jks --J=-Dgemfire.ssl-truststore-password=password");
}
[Fact]
public void StartServerStringsTest()
{
var Gfsh = new GfshExecute();
var currentDir = Environment.CurrentDirectory;
Gfsh.Keystore = "some/path/keystore.jks";
Gfsh.KeystorePassword = "password";
Gfsh.Truststore = "some/path/truststore.jks";
Gfsh.TruststorePassword = "password";
var server = Gfsh
.start()
.server();
var s = server.ToString();
Assert.True(s.Equals("start server"));
server = Gfsh
.start()
.server()
.withName("server")
.withDir("someDir")
.withBindAddress("someAddress")
.withPort(1234)
.withLocators("someLocator")
.withLogLevel("debug")
.withMaxHeap("1.21gigabytes")
.withUseSsl();
s = server.ToString();
Assert.Equal(s, "start server --name=server " +
"--dir=someDir --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=password " +
"--J=-Dgemfire.ssl-truststore=some/path/truststore.jks --J=-Dgemfire.ssl-truststore-password=password");
}
[Fact]
public void StopLocatorStringsTest()
{
var locator = new GfshExecute()
.stop()
.locator();
var s = locator.ToString();
Assert.True(s.Equals("stop locator"));
locator = new GfshExecute().stop().locator()
.withName("name")
.withDir("dir");
s = locator.ToString();
Assert.True(s.Equals("stop locator --name=name --dir=dir"));
}
[Fact]
public void StopServerStringsTest()
{
var server = new GfshExecute()
.stop()
.server();
var s = server.ToString();
Assert.True(s.Equals("stop server"));
server = new GfshExecute()
.stop()
.server()
.withName("server")
.withDir("someDir");
s = server.ToString();
Assert.True(s.Equals("stop server --name=server --dir=someDir"));
}
[Fact]
public void CreateRegionStringsTest()
{
var region = new GfshExecute()
.create()
.region();
var s = region.ToString();
Assert.True(s.Equals("create region"));
region = new GfshExecute()
.create()
.region()
.withName("region")
.withType("PARTITION");
s = region.ToString();
Assert.True(s.Equals("create region --name=region --type=PARTITION"));
}
[Fact]
public void ShutdownStringsTest()
{
var shutdown = new GfshExecute()
.shutdown();
var s = shutdown.ToString();
Assert.True(s.Equals("shutdown"));
shutdown = new GfshExecute()
.shutdown()
.withIncludeLocators(true);
s = shutdown.ToString();
Assert.True(s.Equals("shutdown --include-locators=true"));
shutdown = new GfshExecute()
.shutdown()
.withIncludeLocators(false);
s = shutdown.ToString();
Assert.True(s.Equals("shutdown --include-locators=false"));
}
[Fact]
public void ConfigurePdxStringsTest()
{
var configurePdx = new GfshExecute()
.configurePdx();
var s = configurePdx.ToString();
Assert.Equal(s, "configure pdx");
configurePdx = new GfshExecute()
.configurePdx()
.withReadSerialized(true);
s = configurePdx.ToString();
Assert.Equal(s, "configure pdx --read-serialized=true");
configurePdx = new GfshExecute()
.configurePdx()
.withReadSerialized(false);
s = configurePdx.ToString();
Assert.Equal(s, "configure pdx --read-serialized=false");
}
[Fact]
public void ConnectStringsTest()
{
var Gfsh = new GfshExecute();
var currentDir = Environment.CurrentDirectory;
Gfsh.Keystore = "some/path/keystore.jks";
Gfsh.KeystorePassword = "password";
Gfsh.Truststore = "some/path/truststore.jks";
Gfsh.TruststorePassword = "password";
var connect = Gfsh
.connect();
var s = connect.ToString();
Assert.Equal(s, "connect");
connect = Gfsh
.connect()
.withJmxManager("localhost", 1234)
.withUseSsl();
s = connect.ToString();
Assert.Equal(s, "connect --jmx-manager=localhost[1234] --use-ssl " +
"--key-store=some/path/keystore.jks --key-store-password=password " +
"--trust-store=some/path/truststore.jks --trust-store-password=password");
}
}
}