@Test public void testMultiValWithRegexSplit() { final String pattern = "(.*)"; final String listPattern = "[a-f]"; final Parser<String, Object> parser = new RegexParser( pattern, Optional.of(listPattern) ); String data = "1a2"; final Map<String, Object> parsed = parser.parseToMap(data); ImmutableMap.Builder builder = ImmutableMap.builder(); builder.put("column_1", Lists.newArrayList("1", "2")); Assert.assertEquals( "result", builder.build(), parsed ); }
@Test public void testSpecGet() { SupervisorSpec spec = new TestSupervisorSpec("my-id", null, null); EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.of(supervisorManager)).times(2); EasyMock.expect(supervisorManager.getSupervisorSpec("my-id")).andReturn(Optional.of(spec)); EasyMock.expect(supervisorManager.getSupervisorSpec("my-id-2")).andReturn(Optional.absent()); replayAll(); Response response = supervisorResource.specGet("my-id"); Assert.assertEquals(200, response.getStatus()); Assert.assertEquals(spec, response.getEntity()); response = supervisorResource.specGet("my-id-2"); Assert.assertEquals(404, response.getStatus()); verifyAll(); resetAll(); EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent()); replayAll(); response = supervisorResource.specGet("my-id"); verifyAll(); Assert.assertEquals(503, response.getStatus()); }
@Test public void parseMountInfoWithoutType() throws Exception { // OS X mount info. UnixMountInfo info = ShellUtils.parseMountInfo("devfs on /dev (devfs, local, nobrowse)"); assertEquals(Optional.of("devfs"), info.getDeviceSpec()); assertEquals(Optional.of("/dev"), info.getMountPoint()); assertFalse(info.getFsType().isPresent()); assertFalse(info.getOptions().getSize().isPresent()); }
/** * Extract expression. * * @param placeholderIndexes place holder index * @param expressionNode expression node * @return expression segment */ public Optional<? extends ExpressionSegment> extract(final Map<ParserRuleContext, Integer> placeholderIndexes, final ParserRuleContext expressionNode) { Optional<ParserRuleContext> subqueryNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.SUBQUERY); return subqueryNode.isPresent() ? new SubqueryExtractor().extract(subqueryNode.get()) : Optional.of(extractExpression(placeholderIndexes, expressionNode)); }
private void fillAggregationDistinctSelectItemSegment(final AggregationDistinctSelectItemSegment selectItemSegment, final SelectStatement selectStatement) { selectStatement.getItems().add( new AggregationDistinctSelectItem(selectItemSegment.getType(), selectItemSegment.getInnerExpression(), selectItemSegment.getAlias(), selectItemSegment.getDistinctExpression())); Optional<String> derivedAlias = Optional.absent(); if (DerivedAlias.isDerivedAlias(selectItemSegment.getAlias().get())) { derivedAlias = Optional.of(selectItemSegment.getAlias().get()); } selectStatement.getSQLTokens().add(new AggregationDistinctToken(selectItemSegment.getStartIndex(), selectItemSegment.getStopIndex(), selectItemSegment.getDistinctExpression(), derivedAlias)); }
@Test(expected = ParseException.class) public void testFailure() { final String pattern = "AAAAA"; final List<String> fieldNames = Collections.singletonList( "dummy" ); final Parser<String, Object> parser = new RegexParser( pattern, Optional.of("@"), fieldNames ); String data = "BBBB"; parser.parseToMap(data); } }
@Override public Optional<Long> sizeIfKnown() { Optional<Long> optionalUnslicedSize = ByteSource.this.sizeIfKnown(); if (optionalUnslicedSize.isPresent()) { long unslicedSize = optionalUnslicedSize.get(); long off = Math.min(offset, unslicedSize); return Optional.of(Math.min(length, unslicedSize - off)); } return Optional.absent(); }
@Test public void testSpecGetStatus() { SupervisorReport<Void> report = new SupervisorReport<>("id", DateTimes.nowUtc(), null); EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.of(supervisorManager)).times(2); EasyMock.expect(supervisorManager.getSupervisorStatus("my-id")).andReturn(Optional.of(report)); EasyMock.expect(supervisorManager.getSupervisorStatus("my-id-2")).andReturn(Optional.absent()); replayAll(); Response response = supervisorResource.specGetStatus("my-id"); Assert.assertEquals(200, response.getStatus()); Assert.assertEquals(report, response.getEntity()); response = supervisorResource.specGetStatus("my-id-2"); Assert.assertEquals(404, response.getStatus()); verifyAll(); resetAll(); EasyMock.expect(taskMaster.getSupervisorManager()).andReturn(Optional.absent()); replayAll(); response = supervisorResource.specGetStatus("my-id"); verifyAll(); Assert.assertEquals(503, response.getStatus()); }
@Test public void parseMountInfoSpaceInPath() throws Exception { UnixMountInfo info = ShellUtils.parseMountInfo("/dev/disk4s1 on /Volumes/Space Path " + "(hfs, local, nodev, nosuid, read-only, noowners, quarantine)"); assertEquals(Optional.of("/dev/disk4s1"), info.getDeviceSpec()); assertEquals(Optional.of("/Volumes/Space Path"), info.getMountPoint()); assertFalse(info.getFsType().isPresent()); assertFalse(info.getOptions().getSize().isPresent()); }
@Override public Optional<SubqueryConditionSegment> extract(final ParserRuleContext ancestorNode) { Collection<ParserRuleContext> suQueryNodes = ExtractorUtils.getAllDescendantNodes(ancestorNode, RuleName.SUBQUERY); SubqueryConditionSegment result = new SubqueryConditionSegment(); FromWhereExtractor fromWhereExtractor = new FromWhereExtractor(); for (ParserRuleContext each : suQueryNodes) { Optional<FromWhereSegment> condition = fromWhereExtractor.extract(each, ancestorNode); if (condition.isPresent()) { result.getOrConditions().add(condition.get().getConditions()); } } return Optional.of(result); } }
/** * Find actual default data source name. * * <p>If use master-slave rule, return master data source name.</p> * * @return actual default data source name */ public Optional<String> findActualDefaultDataSourceName() { String defaultDataSourceName = shardingDataSourceNames.getDefaultDataSourceName(); if (Strings.isNullOrEmpty(defaultDataSourceName)) { return Optional.absent(); } Optional<String> masterDefaultDataSourceName = findMasterDataSourceName(defaultDataSourceName); return masterDefaultDataSourceName.isPresent() ? masterDefaultDataSourceName : Optional.of(defaultDataSourceName); }
private SelectItem getAggregationDistinctSelectItem(final SelectStatement selectStatement, final AggregationType aggregationType, final int beginPosition, final int endPosition, final String innerExpression) { Optional<String> alias = aliasExpressionParser.parseSelectItemAlias().isPresent() ? aliasExpressionParser.parseSelectItemAlias() : Optional.of(DerivedAlias.AGGREGATION_DISTINCT_DERIVED.getDerivedAlias(selectStatement.getAggregationDistinctSelectItems().size())); AggregationDistinctSelectItem result = new AggregationDistinctSelectItem( aggregationType, innerExpression, alias, getDistinctColumnName(innerExpression)); selectStatement.getSQLTokens().add(new AggregationDistinctToken(beginPosition, endPosition - 1, result.getDistinctColumnName(), alias)); return result; }
@Test public void testShutdownAllTasksForNonExistingDataSource() { final TaskQueue taskQueue = EasyMock.createMock(TaskQueue.class); EasyMock.expect(taskMaster.isLeader()).andReturn(true).anyTimes(); EasyMock.expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes(); EasyMock.expect(taskStorageQueryAdapter.getActiveTaskInfo(EasyMock.anyString())).andReturn(Collections.emptyList()); EasyMock.replay(taskRunner, taskMaster, taskStorageQueryAdapter, indexerMetadataStorageAdapter, req); final Response response = overlordResource.shutdownTasksForDataSource("notExisting"); Assert.assertEquals(Status.NOT_FOUND.getStatusCode(), response.getStatus()); }