blob: f7e4ed5c0d5ac178a960fd87115fd3346f4a5a57 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TestUserBitSaslCompatibility (Drill : 1.20.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TestUserBitSaslCompatibility (Drill : 1.20.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TestUserBitSaslCompatibility.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitKerberosEncryption.html" title="class in org.apache.drill.exec.rpc.user.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSSL.html" title="class in org.apache.drill.exec.rpc.user.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html" target="_top">Frames</a></li>
<li><a href="TestUserBitSaslCompatibility.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.drill.test.BaseTestQuery">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.drill.test.BaseTestQuery">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.drill.exec.rpc.user.security</div>
<h2 title="Class TestUserBitSaslCompatibility" class="title">Class TestUserBitSaslCompatibility</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/drill/test/BaseTest.html" title="class in org.apache.drill.test">org.apache.drill.test.BaseTest</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">org.apache.drill.test.DrillTest</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/drill/exec/ExecTest.html" title="class in org.apache.drill.exec">org.apache.drill.exec.ExecTest</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html" title="class in org.apache.drill.test">org.apache.drill.test.BaseTestQuery</a></li>
<li>
<ul class="inheritance">
<li>org.apache.drill.exec.rpc.user.security.TestUserBitSaslCompatibility</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">TestUserBitSaslCompatibility</span>
extends <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html" title="class in org.apache.drill.test">BaseTestQuery</a></pre>
<div class="block">Helps to test different scenarios based on security configuration on client and Drillbit side with respect to SASL
and specifically using PLAIN mechanism</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.drill.test.BaseTestQuery">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html" title="class in org.apache.drill.test">BaseTestQuery</a></h3>
<code><a href="../../../../../../../org/apache/drill/test/BaseTestQuery.ClassicTestServices.html" title="class in org.apache.drill.test">BaseTestQuery.ClassicTestServices</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.SilentListener.html" title="class in org.apache.drill.test">BaseTestQuery.SilentListener</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.TestResultSet.html" title="class in org.apache.drill.test">BaseTestQuery.TestResultSet</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.drill.test.DrillTest">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">DrillTest</a></h3>
<code><a href="../../../../../../../org/apache/drill/test/DrillTest.MemWatcher.html" title="class in org.apache.drill.test">DrillTest.MemWatcher</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.test.BaseTestQuery">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html" title="class in org.apache.drill.test">BaseTestQuery</a></h3>
<code><a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#allocator">allocator</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#bits">bits</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#client">client</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#config">config</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#serviceSet">serviceSet</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.exec.ExecTest">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.exec.<a href="../../../../../../../org/apache/drill/exec/ExecTest.html" title="class in org.apache.drill.exec">ExecTest</a></h3>
<code><a href="../../../../../../../org/apache/drill/exec/ExecTest.html#c">c</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#dirTestWatcher">dirTestWatcher</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#optionManager">optionManager</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.test.DrillTest">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">DrillTest</a></h3>
<code><a href="../../../../../../../org/apache/drill/test/DrillTest.html#logOutcome">logOutcome</a>, <a href="../../../../../../../org/apache/drill/test/DrillTest.html#objectMapper">objectMapper</a>, <a href="../../../../../../../org/apache/drill/test/DrillTest.html#REPEAT_RULE">REPEAT_RULE</a>, <a href="../../../../../../../org/apache/drill/test/DrillTest.html#thrownException">thrownException</a>, <a href="../../../../../../../org/apache/drill/test/DrillTest.html#TIMEOUT">TIMEOUT</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#TestUserBitSaslCompatibility--">TestUserBitSaslCompatibility</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#setup--">setup</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testDisableDrillbitAuth_EnableClientAuthKerberos--">testDisableDrillbitAuth_EnableClientAuthKerberos</a></span>()</code>
<div class="block">Test showing when Drillbit is not configured for authentication whereas client explicitly requested for Kerberos
authentication then connection fails due to new check before SASL Handshake.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testDisableDrillbitAuth_EnableClientAuthPlain--">testDisableDrillbitAuth_EnableClientAuthPlain</a></span>()</code>
<div class="block">Test showing when Drillbit is not configured for authentication whereas client explicitly requested for PLAIN
authentication then connection succeeds without authentication.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testDisableDrillbitAuth_EnableClientEncryption--">testDisableDrillbitAuth_EnableClientEncryption</a></span>()</code>
<div class="block">Test showing failure before SASL handshake when Drillbit is not configured for authentication whereas client
explicitly requested for encrypted connection.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testDisableDrillbitClientAuth--">testDisableDrillbitClientAuth</a></span>()</code>
<div class="block">Test showing successful handshake when authentication is disabled on Drillbit side and client also
doesn't provide any security properties in connection URL.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testDisableDrillbitEncryption_EnableClientEncryption--">testDisableDrillbitEncryption_EnableClientEncryption</a></span>()</code>
<div class="block">Test showing failure before SASL handshake when Drillbit is not configured for encryption whereas client explicitly
requested for encrypted connection.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testEnableDrillbitAuth_DisableClientAuth--">testEnableDrillbitAuth_DisableClientAuth</a></span>()</code>
<div class="block">Test showing failure in SASL handshake when Drillbit is configured for authentication only whereas client doesn't
provide any security properties like username/password in this case.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testEnableDrillbitClientAuth--">testEnableDrillbitClientAuth</a></span>()</code>
<div class="block">Test showing successful SASL handshake when both Drillbit and client side authentication is enabled using PLAIN
mechanism.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testEnableDrillbitClientEncryption_UsingPlain--">testEnableDrillbitClientEncryption_UsingPlain</a></span>()</code>
<div class="block">Below test shows the failure in Sasl layer with client and Drillbit side encryption enabled using PLAIN
mechanism.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testEnableDrillbitEncryption_DisableClientAuth--">testEnableDrillbitEncryption_DisableClientAuth</a></span>()</code>
<div class="block">Test showing failure in SASL handshake when Drillbit is configured for encryption whereas client doesn't provide any
security properties like username/password in this case.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html#testEnableDrillbitImpersonation_DisableClientAuth--">testEnableDrillbitImpersonation_DisableClientAuth</a></span>()</code>
<div class="block">Test showing successful handshake when authentication is disabled but impersonation is enabled on Drillbit side
and client only provides USERNAME as a security property in connection URL.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.test.BaseTestQuery">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html" title="class in org.apache.drill.test">BaseTestQuery</a></h3>
<code><a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#alterSession-java.lang.String-java.lang.Object-">alterSession</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#cloneDefaultTestConfigProperties--">cloneDefaultTestConfigProperties</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#closeClient--">closeClient</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#errorMsgTestHelper-java.lang.String-java.lang.String-">errorMsgTestHelper</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#getAllocator--">getAllocator</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#getDrillbitContext--">getDrillbitContext</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#getFile-java.lang.String-">getFile</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#getPhysicalFileFromResource-java.lang.String-">getPhysicalFileFromResource</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#getResultString-java.util.List-java.lang.String-">getResultString</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#getUserPort--">getUserPort</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#logResult-java.util.List-">logResult</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#newTest--">newTest</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#parseErrorHelper-java.lang.String-">parseErrorHelper</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#printResult-java.util.List-">printResult</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#resetAllSessionOptions--">resetAllSessionOptions</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#resetDrillbitCount--">resetDrillbitCount</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#resetSessionOption-java.lang.String-">resetSessionOption</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#runSQL-java.lang.String-">runSQL</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#setColumnWidth-int-">setColumnWidth</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#setColumnWidths-int:A-">setColumnWidths</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#setSessionOption-java.lang.String-boolean-">setSessionOption</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#setSessionOption-java.lang.String-double-">setSessionOption</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#setSessionOption-java.lang.String-long-">setSessionOption</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#setSessionOption-java.lang.String-java.lang.String-">setSessionOption</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#setupDefaultTestCluster--">setupDefaultTestCluster</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#test-java.lang.String-">test</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#test-java.lang.String-java.lang.Object...-">test</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testBuilder--">testBuilder</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testLogicalWithResults-java.lang.String-">testLogicalWithResults</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testNoResult-int-java.lang.String-java.lang.Object...-">testNoResult</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testNoResult-java.lang.String-java.lang.Object...-">testNoResult</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testPhysical-java.lang.String-">testPhysical</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testPhysicalFromFile-java.lang.String-">testPhysicalFromFile</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testPhysicalWithResults-java.lang.String-">testPhysicalWithResults</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testPreparedStatement-org.apache.drill.exec.proto.UserProtos.PreparedStatementHandle-">testPreparedStatement</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testRunAndPrint-org.apache.drill.exec.proto.UserBitShared.QueryType-java.lang.String-">testRunAndPrint</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testRunAndReturn-org.apache.drill.exec.proto.UserBitShared.QueryType-java.lang.Object-">testRunAndReturn</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testSql-java.lang.String-">testSql</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testSqlWithResults-java.lang.String-">testSqlWithResults</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#testWithListener-org.apache.drill.exec.proto.UserBitShared.QueryType-java.lang.String-org.apache.drill.exec.rpc.user.UserResultsListener-">testWithListener</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#updateClient-java.util.Properties-">updateClient</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#updateClient-java.lang.String-">updateClient</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#updateClient-java.lang.String-java.lang.String-">updateClient</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#updateTestCluster-int-org.apache.drill.common.config.DrillConfig-">updateTestCluster</a>, <a href="../../../../../../../org/apache/drill/test/BaseTestQuery.html#updateTestCluster-int-org.apache.drill.common.config.DrillConfig-java.util.Properties-">updateTestCluster</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.exec.ExecTest">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.exec.<a href="../../../../../../../org/apache/drill/exec/ExecTest.html" title="class in org.apache.drill.exec">ExecTest</a></h3>
<code><a href="../../../../../../../org/apache/drill/exec/ExecTest.html#clear--">clear</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#getLocalFileSystem--">getLocalFileSystem</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#mockDrillbitContext--">mockDrillbitContext</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#mockUsDateFormatSymbols--">mockUsDateFormatSymbols</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#mockUtcDateTimeZone--">mockUtcDateTimeZone</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#parseExpr-java.lang.String-">parseExpr</a>, <a href="../../../../../../../org/apache/drill/exec/ExecTest.html#setupOptionManager--">setupOptionManager</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.test.DrillTest">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.test.<a href="../../../../../../../org/apache/drill/test/DrillTest.html" title="class in org.apache.drill.test">DrillTest</a></h3>
<code><a href="../../../../../../../org/apache/drill/test/DrillTest.html#escapeJsonString-java.lang.String-">escapeJsonString</a>, <a href="../../../../../../../org/apache/drill/test/DrillTest.html#finishDrillTest--">finishDrillTest</a>, <a href="../../../../../../../org/apache/drill/test/DrillTest.html#initDrillTest--">initDrillTest</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TestUserBitSaslCompatibility--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TestUserBitSaslCompatibility</h4>
<pre>public&nbsp;TestUserBitSaslCompatibility()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setup</h4>
<pre>public static&nbsp;void&nbsp;setup()</pre>
</li>
</ul>
<a name="testDisableDrillbitAuth_EnableClientAuthPlain--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDisableDrillbitAuth_EnableClientAuthPlain</h4>
<pre>public&nbsp;void&nbsp;testDisableDrillbitAuth_EnableClientAuthPlain()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing when Drillbit is not configured for authentication whereas client explicitly requested for PLAIN
authentication then connection succeeds without authentication.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDisableDrillbitAuth_EnableClientAuthKerberos--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDisableDrillbitAuth_EnableClientAuthKerberos</h4>
<pre>public&nbsp;void&nbsp;testDisableDrillbitAuth_EnableClientAuthKerberos()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing when Drillbit is not configured for authentication whereas client explicitly requested for Kerberos
authentication then connection fails due to new check before SASL Handshake.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDisableDrillbitAuth_EnableClientEncryption--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDisableDrillbitAuth_EnableClientEncryption</h4>
<pre>public&nbsp;void&nbsp;testDisableDrillbitAuth_EnableClientEncryption()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing failure before SASL handshake when Drillbit is not configured for authentication whereas client
explicitly requested for encrypted connection.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDisableDrillbitEncryption_EnableClientEncryption--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDisableDrillbitEncryption_EnableClientEncryption</h4>
<pre>public&nbsp;void&nbsp;testDisableDrillbitEncryption_EnableClientEncryption()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing failure before SASL handshake when Drillbit is not configured for encryption whereas client explicitly
requested for encrypted connection.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testEnableDrillbitAuth_DisableClientAuth--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testEnableDrillbitAuth_DisableClientAuth</h4>
<pre>public&nbsp;void&nbsp;testEnableDrillbitAuth_DisableClientAuth()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing failure in SASL handshake when Drillbit is configured for authentication only whereas client doesn't
provide any security properties like username/password in this case.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testEnableDrillbitEncryption_DisableClientAuth--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testEnableDrillbitEncryption_DisableClientAuth</h4>
<pre>public&nbsp;void&nbsp;testEnableDrillbitEncryption_DisableClientAuth()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing failure in SASL handshake when Drillbit is configured for encryption whereas client doesn't provide any
security properties like username/password in this case.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testEnableDrillbitClientAuth--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testEnableDrillbitClientAuth</h4>
<pre>public&nbsp;void&nbsp;testEnableDrillbitClientAuth()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing successful SASL handshake when both Drillbit and client side authentication is enabled using PLAIN
mechanism.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testEnableDrillbitClientEncryption_UsingPlain--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testEnableDrillbitClientEncryption_UsingPlain</h4>
<pre>public&nbsp;void&nbsp;testEnableDrillbitClientEncryption_UsingPlain()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Below test shows the failure in Sasl layer with client and Drillbit side encryption enabled using PLAIN
mechanism. This is expected since PLAIN mechanism doesn't support encryption using SASL. Whereas same test
setup using Kerberos or any other mechanism with encryption support will result in successful SASL handshake.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testDisableDrillbitClientAuth--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDisableDrillbitClientAuth</h4>
<pre>public&nbsp;void&nbsp;testDisableDrillbitClientAuth()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing successful handshake when authentication is disabled on Drillbit side and client also
doesn't provide any security properties in connection URL.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="testEnableDrillbitImpersonation_DisableClientAuth--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>testEnableDrillbitImpersonation_DisableClientAuth</h4>
<pre>public&nbsp;void&nbsp;testEnableDrillbitImpersonation_DisableClientAuth()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Test showing successful handshake when authentication is disabled but impersonation is enabled on Drillbit side
and client only provides USERNAME as a security property in connection URL.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TestUserBitSaslCompatibility.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitKerberosEncryption.html" title="class in org.apache.drill.exec.rpc.user.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/drill/exec/rpc/user/security/TestUserBitSSL.html" title="class in org.apache.drill.exec.rpc.user.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/rpc/user/security/TestUserBitSaslCompatibility.html" target="_top">Frames</a></li>
<li><a href="TestUserBitSaslCompatibility.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.drill.test.BaseTestQuery">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.drill.test.BaseTestQuery">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>