diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..e89d864 Binary files /dev/null and b/.DS_Store differ diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..845ce93 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,9 @@ +@Library('dh_jenkins@develop') +import io.deephaven.jenkins.DeephavenPipeline +import io.deephaven.jenkins.settings.BuildRepo +DeephavenPipeline.builder(this, steps, 'build-reporting-plugin') + .withEnv([ DH_CACHING: 'false' ]) + .withBuildRepo(BuildRepo.plugin) + .withGradle('Build and Publish', 'publishAllPublicationsToCustomerRepository', false) + .withBuildImage('dh-ci-rocky8-v12') + .build() diff --git a/build.gradle b/build.gradle index 6634669..570d4de 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { url new URI('https://illumon.jfrog.io/illumon/plugin-tools') } dependencies { - classpath 'io.deephaven.gradle:plugins:1.20200123.006' + classpath 'io.deephaven.gradle:plugins:1.20201022.033' } } } @@ -20,9 +20,12 @@ plugins { id 'java-library' id 'groovy' id 'idea' + id 'maven-publish' id 'com.diffplug.gradle.spotless' version '4.1.0' } +evaluationDependsOn(':reporting-tools') + apply plugin: 'io.deephaven.plugins' java { @@ -43,22 +46,26 @@ group = project.property('pluginGroup') version = project.property('pluginVersion') repositories { - jcenter() + mavenCentral() } configurations { global - local - client - auth } +// this is only "safe" because we used evaluationDependsOn() at the top of this file. +TaskProvider shadowJar = project(":reporting-tools").tasks.named('shadowJar') + dependencies { - api Deps.iris('DB') - api Deps.iris('Plot') - api 'org.apache.commons:commons-email:1.4' + api(Deps.iris('DB')) { + exclude group: 'org.apache.commons' + } + api(Deps.iris('Plot')) { + exclude group: 'org.apache.commons' + } - global 'com.slack.api:slack-api-client:1.0.7' + // add our dependencies on commons-email and slack api via a shadow jar, to avoid package conflicts + global provider({shadowJar.get().outputs.files}) annotationProcessor 'org.immutables:value:2.8.8' compileOnly 'org.immutables:value-annotations:2.8.8' @@ -76,10 +83,14 @@ tasks.withType(JavaCompile) { // https://github.com/immutables/immutables/issues/672 options.compilerArgs.add('-Xlint:-processing') options.compilerArgs.add('-Werror') + dependsOn shadowJar } test { useJUnitPlatform() + testLogging { + exceptionFormat = 'full' + } } wrapper { @@ -113,4 +124,37 @@ spotless { //} } -check.dependsOn(':spotlessCheck') \ No newline at end of file +check.dependsOn(':spotlessCheck') + +group 'io.deephaven.reporting.plugin' +// using bard versioning b/c building for a bard customer. Need to cut jackson and then sanluis updates w/ newer plugin tools / gradle version +version '1.20211129.002' +sourceCompatibility = 1.8 + +gradle.projectsEvaluated { + publishing { + publications { + pluginDeploy(MavenPublication) { + groupId = 'io.deephaven.plugins' + artifactId = 'report-generation-plugin' + from(components.java) + artifact(tasks['makeReport-generationRpm']) { + extension = 'rpm' + } + artifact(tasks['makeReport-generationTar']) { + extension = 'tgz' + } + } + } + repositories { + maven { + credentials { + username = findProperty('artifactoryUser') ?: System.getProperty('user.name') + password = findProperty('artifactoryAPIKey') ?: '' + } + url "https://illumon.jfrog.io/illumon/libs-plugin-customer" + name "customer" + } + } + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 88e3083..e6ba1d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -pluginVersion=0.3.0 +pluginVersion=1.20211129.002 pluginGroup=io.deephaven.plugins libSource=libs-local -irisVersion=1.20200331.132 +irisVersion=1.20211129.430 diff --git a/gradle/versions/release b/gradle/versions/release index e440e5c..8e2afd3 100644 --- a/gradle/versions/release +++ b/gradle/versions/release @@ -1 +1 @@ -3 \ No newline at end of file +17 \ No newline at end of file diff --git a/reporting-tools/build.gradle b/reporting-tools/build.gradle new file mode 100644 index 0000000..fd24fbe --- /dev/null +++ b/reporting-tools/build.gradle @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending + */ + +plugins { + id 'java-library' + id 'com.github.johnrengelman.shadow' version '6.1.0' +} +configurations { + output +} +repositories { + mavenCentral() +} +dependencies { + // use the newest version which does not have any security issues + runtimeOnly 'org.apache.commons:commons-text:1.10.0' + runtimeOnly 'org.apache.commons:commons-email:1.6.0' + runtimeOnly 'com.slack.api:slack-api-client:1.46.0' +} +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +tasks.named('shadowJar', ShadowJar).configure { + ShadowJar s -> + s.relocate('org', 'io.deephaven.reporting.org') + s.relocate('com', 'io.deephaven.reporting.com') + s.relocate('okio', 'io.deephaven.reporting.okio') + s.relocate('okhttp3', 'io.deephaven.reporting.okhttp3') + s.relocate('kotlin', 'io.deephaven.reporting.kotlin') + s.mergeServiceFiles() +} + +artifacts { + output(tasks.shadowJar) { + builtBy tasks.shadowJar + } +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index f369441..59ab36b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,3 +2,5 @@ rootProject.name = 'report-generation' // https://docs.gradle.org/6.5/userguide/single_versions.html enableFeaturePreview("VERSION_ORDERING_V2") + +include(':reporting-tools') \ No newline at end of file diff --git a/src/main/java/io/deephaven/plugins/email/EmailHtmlRenderer.java b/src/main/java/io/deephaven/plugins/email/EmailHtmlRenderer.java index 186f744..af23e17 100644 --- a/src/main/java/io/deephaven/plugins/email/EmailHtmlRenderer.java +++ b/src/main/java/io/deephaven/plugins/email/EmailHtmlRenderer.java @@ -19,15 +19,15 @@ import io.deephaven.plugins.html.Trailer; import io.deephaven.plugins.report.Figure; import io.deephaven.plugins.report.Report; +import io.deephaven.reporting.org.apache.commons.mail.DefaultAuthenticator; +import io.deephaven.reporting.org.apache.commons.mail.EmailException; +import io.deephaven.reporting.org.apache.commons.mail.ImageHtmlEmail; +import io.deephaven.reporting.org.apache.commons.mail.resolver.DataSourceFileResolver; import java.io.File; import java.io.IOException; import java.io.UncheckedIOException; import java.util.List; import java.util.Objects; -import org.apache.commons.mail.DefaultAuthenticator; -import org.apache.commons.mail.EmailException; -import org.apache.commons.mail.ImageHtmlEmail; -import org.apache.commons.mail.resolver.DataSourceFileResolver; class EmailHtmlRenderer extends InlineHtmlRenderer { diff --git a/src/main/java/io/deephaven/plugins/email/EmailSendingConfig.java b/src/main/java/io/deephaven/plugins/email/EmailSendingConfig.java index c68f98c..1875a62 100644 --- a/src/main/java/io/deephaven/plugins/email/EmailSendingConfig.java +++ b/src/main/java/io/deephaven/plugins/email/EmailSendingConfig.java @@ -20,6 +20,7 @@ import com.illumon.util.FunctionalInterfaces.ThrowingSupplier; import io.deephaven.plugins.html.Trailer; import io.deephaven.plugins.report.Report; +import io.deephaven.reporting.org.apache.commons.mail.ImageHtmlEmail; import java.io.File; import java.io.IOException; import java.io.UncheckedIOException; @@ -27,7 +28,6 @@ import java.time.Duration; import java.util.List; import java.util.stream.Collectors; -import org.apache.commons.mail.ImageHtmlEmail; import org.immutables.value.Value.Check; import org.immutables.value.Value.Default; import org.immutables.value.Value.Immutable; diff --git a/src/main/java/io/deephaven/plugins/html/InlineHtmlRenderer.java b/src/main/java/io/deephaven/plugins/html/InlineHtmlRenderer.java index b94c7a4..9a45d9a 100644 --- a/src/main/java/io/deephaven/plugins/html/InlineHtmlRenderer.java +++ b/src/main/java/io/deephaven/plugins/html/InlineHtmlRenderer.java @@ -27,13 +27,13 @@ import io.deephaven.plugins.report.TableLocal; import io.deephaven.plugins.report.TablePQ; import io.deephaven.plugins.report.Text; +import io.deephaven.reporting.org.apache.commons.text.StringEscapeUtils; import java.io.File; import java.time.Duration; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; -import org.apache.commons.lang.StringEscapeUtils; public abstract class InlineHtmlRenderer implements Visitor, Table.Visitor { @@ -191,7 +191,7 @@ public void visit(Text text) { } private static String escape(String raw) { - return StringEscapeUtils.escapeHtml(raw); + return StringEscapeUtils.escapeHtml4(raw); } private void indent() { diff --git a/src/main/java/io/deephaven/plugins/html/TableToHtml.java b/src/main/java/io/deephaven/plugins/html/TableToHtml.java index d331830..e4e7526 100644 --- a/src/main/java/io/deephaven/plugins/html/TableToHtml.java +++ b/src/main/java/io/deephaven/plugins/html/TableToHtml.java @@ -20,9 +20,9 @@ import com.illumon.iris.db.tables.utils.DBTimeZone; import com.illumon.iris.db.v2.sources.ColumnSource; import com.illumon.iris.db.v2.utils.Index; +import io.deephaven.reporting.org.apache.commons.text.StringEscapeUtils; import java.util.Collection; import java.util.List; -import org.apache.commons.lang.StringEscapeUtils; public class TableToHtml { public static String html(Table source) { @@ -50,12 +50,12 @@ public static String html(Table source) { out.append(""); final Object value = columnSource.get(key); if (value instanceof String) { - out.append(StringEscapeUtils.escapeHtml((String) value)); + out.append(StringEscapeUtils.escapeHtml4((String) value)); } else if (value instanceof DBDateTime) { final DBDateTime dbDateTime = (DBDateTime) value; - out.append(StringEscapeUtils.escapeHtml(dbDateTime.toString(DBTimeZone.TZ_DEFAULT))); + out.append(StringEscapeUtils.escapeHtml4(dbDateTime.toString(DBTimeZone.TZ_DEFAULT))); } else if (value != null) { - out.append(StringEscapeUtils.escapeHtml(value.toString())); + out.append(StringEscapeUtils.escapeHtml4(value.toString())); } else { // For now, don't output anything for null values. } diff --git a/src/main/java/io/deephaven/plugins/report/FigurePQ.java b/src/main/java/io/deephaven/plugins/report/FigurePQ.java index a9d962a..2b28953 100644 --- a/src/main/java/io/deephaven/plugins/report/FigurePQ.java +++ b/src/main/java/io/deephaven/plugins/report/FigurePQ.java @@ -62,7 +62,7 @@ public final FigureLocal toLocal(Logger log, Duration timeout) throws Exception db.executeConcurrentQuery(ReportFigureCARQ.of(figureName())) .inflate(db.getProcessorConnection()); - figure.waitForData(); + figure.waitForData(log, figure.getFigure()); return ImmutableFigureLocal.builder() .figure(figure) diff --git a/src/main/java/io/deephaven/plugins/report/ItemToGroovyish.java b/src/main/java/io/deephaven/plugins/report/ItemToGroovyish.java index 7ba67cf..0be5826 100644 --- a/src/main/java/io/deephaven/plugins/report/ItemToGroovyish.java +++ b/src/main/java/io/deephaven/plugins/report/ItemToGroovyish.java @@ -16,9 +16,9 @@ package io.deephaven.plugins.report; import io.deephaven.plugins.report.Item.Visitor; +import io.deephaven.reporting.org.apache.commons.text.StringEscapeUtils; import java.util.Objects; import java.util.stream.Collectors; -import org.apache.commons.lang.StringEscapeUtils; class ItemToGroovyish implements Visitor, Table.Visitor, Figure.Visitor { diff --git a/src/main/java/io/deephaven/plugins/slack/ClientImpl.java b/src/main/java/io/deephaven/plugins/slack/ClientImpl.java index 088420e..4ee9ed7 100644 --- a/src/main/java/io/deephaven/plugins/slack/ClientImpl.java +++ b/src/main/java/io/deephaven/plugins/slack/ClientImpl.java @@ -17,14 +17,14 @@ import com.fishlib.io.logger.Logger; import com.illumon.iris.db.tables.live.LiveTableMonitor; -import com.slack.api.Slack; -import com.slack.api.methods.MethodsClient; -import com.slack.api.methods.SlackApiException; -import com.slack.api.methods.request.chat.ChatPostMessageRequest; -import com.slack.api.methods.response.chat.ChatPostMessageResponse; -import com.slack.api.model.block.SectionBlock; -import com.slack.api.model.block.composition.MarkdownTextObject; import io.deephaven.plugins.report.Report; +import io.deephaven.reporting.com.slack.api.Slack; +import io.deephaven.reporting.com.slack.api.methods.MethodsClient; +import io.deephaven.reporting.com.slack.api.methods.SlackApiException; +import io.deephaven.reporting.com.slack.api.methods.request.chat.ChatPostMessageRequest; +import io.deephaven.reporting.com.slack.api.methods.response.chat.ChatPostMessageResponse; +import io.deephaven.reporting.com.slack.api.model.block.SectionBlock; +import io.deephaven.reporting.com.slack.api.model.block.composition.MarkdownTextObject; import java.io.IOException; import java.io.UncheckedIOException; import java.time.Duration; diff --git a/src/main/java/io/deephaven/plugins/slack/Functions.java b/src/main/java/io/deephaven/plugins/slack/Functions.java index 898cb54..3c7886e 100644 --- a/src/main/java/io/deephaven/plugins/slack/Functions.java +++ b/src/main/java/io/deephaven/plugins/slack/Functions.java @@ -15,8 +15,8 @@ */ package io.deephaven.plugins.slack; -import com.slack.api.Slack; import io.deephaven.plugins.slack.ClientImpl.LockType; +import io.deephaven.reporting.com.slack.api.Slack; public class Functions { diff --git a/src/main/java/io/deephaven/plugins/slack/ReportMessage.java b/src/main/java/io/deephaven/plugins/slack/ReportMessage.java index 0a25ecf..93cebe4 100644 --- a/src/main/java/io/deephaven/plugins/slack/ReportMessage.java +++ b/src/main/java/io/deephaven/plugins/slack/ReportMessage.java @@ -15,8 +15,8 @@ */ package io.deephaven.plugins.slack; -import com.slack.api.Slack; import io.deephaven.plugins.report.Report; +import io.deephaven.reporting.com.slack.api.Slack; import java.util.List; import org.immutables.value.Value.Immutable; diff --git a/src/main/java/io/deephaven/plugins/slack/SlackMessagePerItemRenderer.java b/src/main/java/io/deephaven/plugins/slack/SlackMessagePerItemRenderer.java index 75efd32..7364e79 100644 --- a/src/main/java/io/deephaven/plugins/slack/SlackMessagePerItemRenderer.java +++ b/src/main/java/io/deephaven/plugins/slack/SlackMessagePerItemRenderer.java @@ -15,18 +15,6 @@ */ package io.deephaven.plugins.slack; -import com.slack.api.methods.MethodsClient; -import com.slack.api.methods.SlackApiException; -import com.slack.api.methods.request.chat.ChatPostMessageRequest; -import com.slack.api.methods.request.chat.ChatPostMessageRequest.ChatPostMessageRequestBuilder; -import com.slack.api.methods.request.files.FilesUploadRequest; -import com.slack.api.methods.response.chat.ChatPostMessageResponse; -import com.slack.api.methods.response.files.FilesUploadResponse; -import com.slack.api.model.block.ContextBlock; -import com.slack.api.model.block.LayoutBlock; -import com.slack.api.model.block.SectionBlock; -import com.slack.api.model.block.composition.MarkdownTextObject; -import com.slack.api.model.block.composition.PlainTextObject; import io.deephaven.plugins.report.Figure; import io.deephaven.plugins.report.Group; import io.deephaven.plugins.report.Item; @@ -36,6 +24,19 @@ import io.deephaven.plugins.report.TableLocal; import io.deephaven.plugins.report.TablePQ; import io.deephaven.plugins.report.Text; +import io.deephaven.reporting.com.slack.api.methods.MethodsClient; +import io.deephaven.reporting.com.slack.api.methods.SlackApiException; +import io.deephaven.reporting.com.slack.api.methods.SlackFilesUploadV2Exception; +import io.deephaven.reporting.com.slack.api.methods.request.chat.ChatPostMessageRequest; +import io.deephaven.reporting.com.slack.api.methods.request.chat.ChatPostMessageRequest.ChatPostMessageRequestBuilder; +import io.deephaven.reporting.com.slack.api.methods.request.files.FilesUploadV2Request; +import io.deephaven.reporting.com.slack.api.methods.response.chat.ChatPostMessageResponse; +import io.deephaven.reporting.com.slack.api.methods.response.files.FilesUploadV2Response; +import io.deephaven.reporting.com.slack.api.model.block.ContextBlock; +import io.deephaven.reporting.com.slack.api.model.block.LayoutBlock; +import io.deephaven.reporting.com.slack.api.model.block.SectionBlock; +import io.deephaven.reporting.com.slack.api.model.block.composition.MarkdownTextObject; +import io.deephaven.reporting.com.slack.api.model.block.composition.PlainTextObject; import java.io.File; import java.io.IOException; import java.io.UncheckedIOException; @@ -161,7 +162,7 @@ public void visit(Group group) { } } - private com.slack.api.model.File uploadFigureInChannel(Figure figure) { + private io.deephaven.reporting.com.slack.api.model.File uploadFigureInChannel(Figure figure) { final File file; try { file = File.createTempFile(figure.name().orElse("figure") + "-", ".png"); @@ -170,18 +171,19 @@ private com.slack.api.model.File uploadFigureInChannel(Figure figure) { } figure.walk(SaveFigure.builder().file(file).build()); - - final FilesUploadRequest request = - FilesUploadRequest.builder() - .title(figure.name().orElse(null)) - .channels(Collections.singletonList(config().channel())) + final FilesUploadV2Request request = + FilesUploadV2Request.builder() + .title(figure.name().orElse("")) + .channel(config().channel()) .filename(file.getName()) .file(file) .build(); - final FilesUploadResponse response; + final FilesUploadV2Response response; try { - response = client().filesUpload(request); + response = client().filesUploadV2(request); + } catch (SlackFilesUploadV2Exception e) { + throw new RuntimeException("Slack error: " + e); } catch (IOException e) { throw new UncheckedIOException(e); } catch (SlackApiException e) { diff --git a/src/main/java/io/deephaven/plugins/slack/SlackRenderer.java b/src/main/java/io/deephaven/plugins/slack/SlackRenderer.java index 1bfca90..7b945ef 100644 --- a/src/main/java/io/deephaven/plugins/slack/SlackRenderer.java +++ b/src/main/java/io/deephaven/plugins/slack/SlackRenderer.java @@ -15,20 +15,6 @@ */ package io.deephaven.plugins.slack; -import com.slack.api.Slack; -import com.slack.api.methods.SlackApiException; -import com.slack.api.methods.request.chat.ChatPostMessageRequest; -import com.slack.api.methods.request.files.FilesSharedPublicURLRequest; -import com.slack.api.methods.request.files.FilesUploadRequest; -import com.slack.api.methods.response.files.FilesSharedPublicURLResponse; -import com.slack.api.methods.response.files.FilesUploadResponse; -import com.slack.api.model.block.ContextBlock; -import com.slack.api.model.block.DividerBlock; -import com.slack.api.model.block.ImageBlock; -import com.slack.api.model.block.ImageBlock.ImageBlockBuilder; -import com.slack.api.model.block.LayoutBlock; -import com.slack.api.model.block.SectionBlock; -import com.slack.api.model.block.composition.PlainTextObject; import io.deephaven.plugins.report.Figure; import io.deephaven.plugins.report.Group; import io.deephaven.plugins.report.Item; @@ -36,6 +22,20 @@ import io.deephaven.plugins.report.SaveFigure; import io.deephaven.plugins.report.Table; import io.deephaven.plugins.report.Text; +import io.deephaven.reporting.com.slack.api.Slack; +import io.deephaven.reporting.com.slack.api.methods.SlackApiException; +import io.deephaven.reporting.com.slack.api.methods.request.chat.ChatPostMessageRequest; +import io.deephaven.reporting.com.slack.api.methods.request.files.FilesSharedPublicURLRequest; +import io.deephaven.reporting.com.slack.api.methods.request.files.FilesUploadV2Request; +import io.deephaven.reporting.com.slack.api.methods.response.files.FilesSharedPublicURLResponse; +import io.deephaven.reporting.com.slack.api.methods.response.files.FilesUploadV2Response; +import io.deephaven.reporting.com.slack.api.model.block.ContextBlock; +import io.deephaven.reporting.com.slack.api.model.block.DividerBlock; +import io.deephaven.reporting.com.slack.api.model.block.ImageBlock; +import io.deephaven.reporting.com.slack.api.model.block.ImageBlock.ImageBlockBuilder; +import io.deephaven.reporting.com.slack.api.model.block.LayoutBlock; +import io.deephaven.reporting.com.slack.api.model.block.SectionBlock; +import io.deephaven.reporting.com.slack.api.model.block.composition.PlainTextObject; import java.io.File; import java.io.IOException; import java.io.UncheckedIOException; @@ -94,7 +94,7 @@ public void visit(Table table) { @Override public void visit(Figure figure) { - final com.slack.api.model.File file = uploadFigure(figure); + final io.deephaven.reporting.com.slack.api.model.File file = uploadFigure(figure); final ImageBlockBuilder builder = ImageBlock.builder().imageUrl(getUrl(file)); if (figure.name().isPresent()) { builder.title(PlainTextObject.builder().text(figure.name().get()).build()); @@ -125,7 +125,7 @@ public void visit(Group group) { } } - private static String getUrl(com.slack.api.model.File file) { + private static String getUrl(io.deephaven.reporting.com.slack.api.model.File file) { // very hacky :s final String[] parts = file.getPermalinkPublic().split("-"); final String pubSecret = parts[parts.length - 1]; @@ -146,7 +146,7 @@ private void addContextString(String value) { .build()); } - private com.slack.api.model.File uploadFigure(Figure figure) { + private io.deephaven.reporting.com.slack.api.model.File uploadFigure(Figure figure) { final File file; try { file = File.createTempFile(figure.name().orElse("figure") + "-", ".png"); @@ -156,16 +156,16 @@ private com.slack.api.model.File uploadFigure(Figure figure) { figure.walk(SaveFigure.builder().file(file).build()); - final FilesUploadRequest request = - FilesUploadRequest.builder() + final FilesUploadV2Request request = + FilesUploadV2Request.builder() // .channels(Collections.singletonList(config.channel())) .filename(file.getName()) .file(file) .build(); - final FilesUploadResponse response; + final FilesUploadV2Response response; try { - response = slack.methods(config.token()).filesUpload(request); + response = slack.methods(config.token()).filesUploadV2(request); } catch (IOException e) { throw new UncheckedIOException(e); } catch (SlackApiException e) { diff --git a/src/test/groovy/io/deephaven/plugins/html/InlineHtmlRendererTest.groovy b/src/test/groovy/io/deephaven/plugins/html/InlineHtmlRendererTest.groovy index b56a8fb..e3f7297 100644 --- a/src/test/groovy/io/deephaven/plugins/html/InlineHtmlRendererTest.groovy +++ b/src/test/groovy/io/deephaven/plugins/html/InlineHtmlRendererTest.groovy @@ -17,7 +17,7 @@ package io.deephaven.plugins.html import io.deephaven.plugins.report.Item import io.deephaven.plugins.report.Report -import org.apache.commons.mail.EmailException +import io.deephaven.reporting.org.apache.commons.mail.EmailException import org.junit.jupiter.api.Test import java.time.Instant diff --git a/src/test/groovy/io/deephaven/plugins/slack/SlackTest.groovy b/src/test/groovy/io/deephaven/plugins/slack/SlackTest.groovy index f8d5ec8..d19cf12 100644 --- a/src/test/groovy/io/deephaven/plugins/slack/SlackTest.groovy +++ b/src/test/groovy/io/deephaven/plugins/slack/SlackTest.groovy @@ -15,25 +15,25 @@ */ package io.deephaven.plugins.slack -import io.deephaven.plugins.slack.Functions as slack +// import io.deephaven.plugins.slack.Functions import org.junit.jupiter.api.Test class SlackTest { @Test void simpleClient() { - slack.client(slack.config("faketoken", "#fakechannel")) + Functions.client(Functions.config("faketoken", "#fakechannel")) } @Test void noLockClient() { - slack.client(slack.config("faketoken", "#fakechannel")).withLockType(slack.noLock()) + Functions.client(Functions.config("faketoken", "#fakechannel")).withLockType(Functions.noLock()) } @Test void lockTypeExampleFromReadme() { - def config = slack.config("", "#the_channel") - def client_with_no_lock = slack.client(config).withLockType(slack.noLock()) - def client_with_shared_lock = slack.client(config).withLockType(slack.sharedLock()) - def client_with_exclusive_lock = slack.client(config).withLockType(slack.exclusiveLock()) + def config = Functions.config("", "#the_channel") + def client_with_no_lock = Functions.client(config).withLockType(Functions.noLock()) + def client_with_shared_lock = Functions.client(config).withLockType(Functions.sharedLock()) + def client_with_exclusive_lock = Functions.client(config).withLockType(Functions.exclusiveLock()) } }