Skip to content

Commit

Permalink
Merge branch 'main' into patch-1
Browse files Browse the repository at this point in the history
Signed-off-by: Aniruddh <[email protected]>
  • Loading branch information
Noir01 authored Oct 28, 2023
2 parents 0043c7e + 76ddcd4 commit 2773cd5
Show file tree
Hide file tree
Showing 6 changed files with 97 additions and 27 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/bump-bwc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Bump bwc version

on:
workflow_dispatch:
inputs:
tag:
type: string
required: true
push:
tags:
- '*.*.*.*'

permissions: {}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: GitHub App token
id: github_app_token
uses: tibdex/[email protected]
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
installation_id: 22958780

- uses: actions/checkout@v4
- name: Fetch Tag and Version Information
run: |
if [ -n ${{ inputs.tag }} ]; then
TAG=${{ inputs.tag }}
else
TAG=$(echo "${GITHUB_REF#refs/*/}")
fi
CURRENT_VERSION_ARRAY=($(echo "$TAG" | tr . '\n'))
CURRENT_VERSION=$(IFS=. ; echo "${CURRENT_VERSION_ARRAY[*]:0:3}")
CURRENT_VERSION_ARRAY[1]=$((CURRENT_VERSION_ARRAY[1]+1))
NEXT_VERSION=$(IFS=. ; echo "${CURRENT_VERSION_ARRAY[*]:0:3}")
echo "TAG=$TAG" >> $GITHUB_ENV
echo "CURRENT_VERSION=$CURRENT_VERSION" >> $GITHUB_ENV
echo "NEXT_VERSION=$NEXT_VERSION" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
ref: main
token: ${{ steps.github_app_token.outputs.token }}

- name: Bump bwc version for main branch
run: |
echo Bumping bwc version to $NEXT_VERSION
sed -i "s/def bwcVersionShort = \"$CURRENT_VERSION\"/def bwcVersionShort = \"$NEXT_VERSION\"/g" notifications/notifications/build.gradle
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
token: ${{ steps.github_app_token.outputs.token }}
base: main
branch: 'create-pull-request/patch-main'
commit-message: Bump bwc version to ${{ env.NEXT_VERSION }}
signoff: true
delete-branch: true
labels: |
autocut
title: '[AUTO] [main] Bump bwc version to ${{ env.NEXT_VERSION }}.'
body: |
I've noticed that a new tag ${{ env.TAG }} was pushed, and bump bwc version to ${{ env.NEXT_VERSION }}.
10 changes: 5 additions & 5 deletions .github/workflows/security-notifications-test-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ jobs:
- name: Run Notification Test for security enabled test cases
if: env.imagePresent == 'true'
run: |
cluster_running=`curl -XGET https://localhost:9200/_cat/plugins -u admin:admin --insecure`
echo $cluster_running
security=`curl -XGET https://localhost:9200/_cat/plugins -u admin:admin --insecure |grep opensearch-security|wc -l`
echo $security
container_id=`docker ps -q`
plugins=`docker exec $container_id /usr/share/opensearch/bin/opensearch-plugin list`
echo "plugins: $plugins"
security=`echo $plugins | grep opensearch-security | wc -l`
if [ $security -gt 0 ]
then
echo "Security plugin is available"
Expand All @@ -91,4 +91,4 @@ jobs:
else
echo "Security plugin is NOT available skipping this run as tests without security have already been run"
exit 1
fi
fi
17 changes: 7 additions & 10 deletions notifications/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,14 @@ buildscript {
classpath "org.opensearch.gradle:build-tools:${opensearch_version}"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}"
classpath "org.jetbrains.kotlin:kotlin-allopen:${kotlin_version}"
// TODO: enable detekt only when snakeyaml vulnerability is fixed
// classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.17.1"
classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.23.0"
classpath "org.jacoco:org.jacoco.agent:0.8.7"
}
}

apply plugin: 'base'
apply plugin: 'jacoco'
// TODO: enable detekt only when snakeyaml vulnerability is fixed
//apply plugin: 'io.gitlab.arturbosch.detekt'
apply plugin: 'io.gitlab.arturbosch.detekt'
apply from: 'build-tools/merged-coverage.gradle'

allprojects {
Expand Down Expand Up @@ -100,12 +98,11 @@ task ktlintFormat(type: JavaExec, group: "formatting") {
jvmArgs "--add-opens=java.base/java.lang=ALL-UNNAMED"
}

// TODO: enable detekt only when snakeyaml vulnerability is fixed
//detekt {
// config = files("detekt.yml")
// buildUponDefaultConfig = true
// parallel = true
//}
detekt {
config = files("detekt.yml")
buildUponDefaultConfig = true
parallel = true
}

check.dependsOn ktlint

Expand Down
2 changes: 2 additions & 0 deletions notifications/core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ dependencies {
'io.mockk:mockk-agent-jvm:1.11.0'
)
testImplementation 'org.springframework.integration:spring-integration-mail:5.5.0'
// https://mvnrepository.com/artifact/com.icegreen/greenmail
testImplementation group: 'com.icegreen', name: 'greenmail', version: '1.6.14'
testImplementation 'org.springframework.integration:spring-integration-test-support:5.5.0'
testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.6.2')
testImplementation "org.jetbrains.kotlin:kotlin-test:${kotlin_version}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@

package org.opensearch.notifications.core.smtp

import org.junit.After
import com.icegreen.greenmail.util.GreenMail
import com.icegreen.greenmail.util.ServerSetupTest
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.opensearch.core.rest.RestStatus
import org.opensearch.notifications.core.NotificationCoreImpl
Expand All @@ -14,28 +17,29 @@ import org.opensearch.notifications.core.transport.SmtpDestinationTransport
import org.opensearch.notifications.spi.model.MessageContent
import org.opensearch.notifications.spi.model.destination.DestinationType
import org.opensearch.notifications.spi.model.destination.SmtpDestination
import org.springframework.integration.test.mail.TestMailServer
import kotlin.test.assertEquals

class SmtpEmailTests {

internal companion object {
private const val smtpPort = 10255 // use non-standard port > 1024 to avoid permission issue
private val smtpServer = TestMailServer.smtp(smtpPort)
private lateinit var greenMail: GreenMail

@BeforeEach
fun setUpServer() {
greenMail = GreenMail(ServerSetupTest.SMTP)
greenMail.start()
}

@After
@AfterEach
fun tearDownServer() {
smtpServer.stop()
smtpServer.resetServer()
greenMail.stop()
}

@Test
fun `test send email to one recipient over smtp server`() {
val smtpDestination = SmtpDestination(
"testAccountName",
"localhost",
smtpPort,
ServerSetupTest.SMTP.port,
"none",
"[email protected]",
"[email protected]"
Expand All @@ -53,14 +57,15 @@ class SmtpEmailTests {
val response = NotificationCoreImpl.sendMessage(smtpDestination, message, "ref")
assertEquals("Success", response.statusText)
assertEquals(RestStatus.OK.status, response.statusCode)
assertEquals(1, greenMail.receivedMessages.size) // Indicates retrieval of notification.
}

@Test
fun `test send email with non-available host`() {
val smtpDestination = SmtpDestination(
"testAccountName",
"invalidHost",
smtpPort,
ServerSetupTest.SMTP.port,
"none",
"[email protected]",
"[email protected]"
Expand All @@ -77,7 +82,7 @@ class SmtpEmailTests {
DestinationTransportProvider.destinationTransportMap = mapOf(DestinationType.SMTP to SmtpDestinationTransport())
val response = NotificationCoreImpl.sendMessage(smtpDestination, message, "ref")
assertEquals(
"sendEmail Error, status:Couldn't connect to host, port: invalidHost, $smtpPort; timeout -1",
"sendEmail Error, status:Couldn't connect to host, port: invalidHost, ${ServerSetupTest.SMTP.port}; timeout -1",
response.statusText
)
assertEquals(RestStatus.SERVICE_UNAVAILABLE.status, response.statusCode)
Expand Down
2 changes: 1 addition & 1 deletion notifications/notifications/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ dependencies {
} // ${kotlin_version} does not work for coroutines
implementation "${group}:common-utils:${common_utils_version}"
// TODO: change compile to implementation when the _local/stats API is supported
compileOnly "org.json:json:20230227"
compileOnly "org.json:json:20231013"
compileOnly "com.github.wnameless.json:json-flattener:0.13.0"
// TODO: uncomment when the _local/stats API is supported
// implementation "com.github.wnameless.json:json-base:2.0.0"
Expand Down

0 comments on commit 2773cd5

Please sign in to comment.