Skip to content

Commit

Permalink
Merge pull request #28 from fherbreteau/feature/update_project_group_id
Browse files Browse the repository at this point in the history
Feature/update project group
  • Loading branch information
fherbreteau committed Apr 23, 2023
2 parents 6ff2b0d + eb65f0d commit e6249f4
Show file tree
Hide file tree
Showing 29 changed files with 251 additions and 116 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dgpg.skip
14 changes: 12 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,15 @@ jobs:
git config user.email "actions@github.com"
git config user.name "GitHub Actions"
- name: Publish Release
run: mvn -B release:prepare release:perform -Darguments="-Dmaven.javadoc.skip=true"
- name: Install gpg secret key
run: |
# Install gpg secret key
cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import
# Verify gpg secret key
gpg --list-secret-keys --keyid-format LONG
- name: Publish to Central Repository
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
run: mvn -B release:prepare release:perform -Darguments="-Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} -Dmaven.javadoc.skip=true"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,6 @@
/*.idea/
/*.iml
/**/*.iml
/.vscode/
/.metals/
/.bloop/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Plugin is currently available for Scala 2.12.
You may add plugin as dependency in project with your tests. Write this to your build.sbt:

``` scala
libraryDependencies += "com.github.fherbreteau" %% "gatling-sftp" % <version> % Test
libraryDependencies += "io.github.fherbreteau" %% "gatling-sftp" % <version> % Test
```

## Example Scenarios
Expand Down
15 changes: 15 additions & 0 deletions javadoc/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Plugin for support performance testing with SFTP in Gatling (3.9.x)

## Getting Started

Plugin is currently available for Scala 2.12.

You may add plugin as dependency in project with your tests. Write this to your build.sbt:

``` scala
libraryDependencies += "io.github.fherbreteau" %% "gatling-sftp" % <version> % Test
```

## Example Scenarios

TODO
83 changes: 78 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.github.fherbreteau</groupId>
<groupId>io.github.fherbreteau</groupId>
<artifactId>gatling-sftp</artifactId>
<version>0.0.5-SNAPSHOT</version>
<description>SFTP plugin for Gatling 3.8.x</description>
Expand Down Expand Up @@ -108,22 +108,95 @@
<tagNameFormat>@{project.version}</tagNameFormat>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>empty-javadoc-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>javadoc</classifier>
<classesDirectory>${basedir}/javadoc</classesDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
</plugins>
</build>

<distributionManagement>
<repository>
<id>github</id>
<name>GitHub Packages</name>
<url>https://maven.pkg.github.com/fherbreteau/gatling-sftp</url>
<id>ossrh</id>
<name>Central Repository OSSRH</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>

<developers>
<developer>
<id>fherbreteau</id>
<name>François Herbreteau</name>
<email>fherbreteau@gmail.com</email>
<roles>
<role>Maintainer</role>
</roles>
<timezone>Europe/Paris</timezone>
</developer>
</developers>
<scm>
<connection>scm:git:${project.scm.url}.git</connection>
<developerConnection>scm:git:${project.scm.url}.git</developerConnection>
<url>https://github.com/fherbreteau/gatling-sftp</url>
<tag>HEAD</tag>
<tag>@{project.version}</tag>
</scm>

</project>

This file was deleted.

59 changes: 59 additions & 0 deletions src/main/java/io/github/fherbreteau/gatling/sftp/javaapi/Sftp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package io.github.fherbreteau.gatling.sftp.javaapi;

import io.gatling.commons.validation.Validation;
import io.gatling.core.session.Session;
import io.gatling.javaapi.core.internal.Expressions;
import io.github.fherbreteau.gatling.sftp.javaapi.action.SftpActionBuilder;
import scala.Function1;

import javax.annotation.Nonnull;
import java.util.function.Function;

public class Sftp {

private final Function1<Session, Validation<String>> name;

Sftp(Function1<io.gatling.core.session.Session, Validation<String>> name) {
this.name = name;
}

public SftpActionBuilder move(@Nonnull String file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).move(Expressions.toStringExpression(file)));
}

public SftpActionBuilder move(@Nonnull Function<io.gatling.javaapi.core.Session, String> file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).move(Expressions.javaFunctionToExpression(file)));
}

public SftpActionBuilder copy(@Nonnull String file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).copy(Expressions.toStringExpression(file)));
}

public SftpActionBuilder copy(@Nonnull Function<io.gatling.javaapi.core.Session, String> file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).copy(Expressions.javaFunctionToExpression(file)));
}

public SftpActionBuilder delete(@Nonnull String file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).delete(Expressions.toStringExpression(file)));
}

public SftpActionBuilder delete(@Nonnull Function<io.gatling.javaapi.core.Session, String> file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).delete(Expressions.javaFunctionToExpression(file)));
}

public SftpActionBuilder upload(@Nonnull String file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).upload(Expressions.toStringExpression(file)));
}

public SftpActionBuilder upload(@Nonnull Function<io.gatling.javaapi.core.Session, String> file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).upload(Expressions.javaFunctionToExpression(file)));
}

public SftpActionBuilder download(@Nonnull String file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).download(Expressions.toStringExpression(file)));
}

public SftpActionBuilder download(@Nonnull Function<io.gatling.javaapi.core.Session, String> file) {
return new SftpActionBuilder(new io.github.fherbreteau.gatling.sftp.Sftp(name).download(Expressions.javaFunctionToExpression(file)));
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package com.github.fherbreteau.gatling.sftp.javaapi;
package io.github.fherbreteau.gatling.sftp.javaapi;

import com.github.fherbreteau.gatling.sftp.javaapi.protocol.SftpProtocolBuilder;
import io.gatling.javaapi.core.Session;
import io.gatling.javaapi.core.internal.Expressions;
import io.github.fherbreteau.gatling.sftp.javaapi.protocol.SftpProtocolBuilder;

import javax.annotation.Nonnull;
import java.util.function.Function;

public class SftpDsl {

public static final SftpProtocolBuilder sftp =
new SftpProtocolBuilder(com.github.fherbreteau.gatling.sftp.protocol.SftpProtocolBuilder.apply(
new SftpProtocolBuilder(io.github.fherbreteau.gatling.sftp.protocol.SftpProtocolBuilder.apply(
io.gatling.core.Predef.configuration()));

private SftpDsl() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.github.fherbreteau.gatling.sftp.javaapi.action;
package io.github.fherbreteau.gatling.sftp.javaapi.action;

import io.gatling.javaapi.core.ActionBuilder;

public class SftpActionBuilder implements ActionBuilder {

private final com.github.fherbreteau.gatling.sftp.action.SftpActionBuilder wrapped;
private final io.github.fherbreteau.gatling.sftp.action.SftpActionBuilder wrapped;

public SftpActionBuilder(com.github.fherbreteau.gatling.sftp.action.SftpActionBuilder wrapped) {
public SftpActionBuilder(io.github.fherbreteau.gatling.sftp.action.SftpActionBuilder wrapped) {
this.wrapped = wrapped;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.fherbreteau.gatling.sftp.javaapi.protocol;
package io.github.fherbreteau.gatling.sftp.javaapi.protocol;

import io.gatling.core.protocol.Protocol;
import io.gatling.javaapi.core.ProtocolBuilder;
Expand All @@ -8,9 +8,9 @@

public class SftpProtocolBuilder implements ProtocolBuilder {

private final com.github.fherbreteau.gatling.sftp.protocol.SftpProtocolBuilder wrapped;
private final io.github.fherbreteau.gatling.sftp.protocol.SftpProtocolBuilder wrapped;

public SftpProtocolBuilder(com.github.fherbreteau.gatling.sftp.protocol.SftpProtocolBuilder wrapped) {
public SftpProtocolBuilder(io.github.fherbreteau.gatling.sftp.protocol.SftpProtocolBuilder wrapped) {
this.wrapped = wrapped;
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package io.github.fherbreteau.gatling.sftp

object Predef extends SftpDsl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.github.fherbreteau.gatling.sftp
package io.github.fherbreteau.gatling.sftp

import com.github.fherbreteau.gatling.sftp.action.SftpActionBuilder
import com.github.fherbreteau.gatling.sftp.client.SftpActions._
import io.gatling.core.session.Expression
import io.github.fherbreteau.gatling.sftp.action.SftpActionBuilder
import io.github.fherbreteau.gatling.sftp.client.SftpActions._

case class Sftp(operationName: Expression[String]) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.github.fherbreteau.gatling.sftp
package io.github.fherbreteau.gatling.sftp

import com.github.fherbreteau.gatling.sftp.protocol.{SftpProtocol, SftpProtocolBuilder}
import io.gatling.core.config.GatlingConfiguration
import io.gatling.core.session.Expression
import io.github.fherbreteau.gatling.sftp.protocol.{SftpProtocol, SftpProtocolBuilder}

import scala.language.implicitConversions

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package com.github.fherbreteau.gatling.sftp.action
package io.github.fherbreteau.gatling.sftp.action

import com.github.fherbreteau.gatling.sftp.client.{SftpOperationDef, SftpTransaction}
import io.gatling.commons.util.Clock
import io.gatling.commons.validation.Validation
import io.gatling.core.CoreComponents
import io.gatling.core.action.{Action, RequestAction}
import io.gatling.core.session.{Expression, Session}
import io.gatling.core.stats.StatsEngine
import io.gatling.core.util.NameGen
import io.github.fherbreteau.gatling.sftp.client.{SftpOperationDef, SftpTransaction}

class SftpAction(sftpOperationDef: SftpOperationDef,
coreComponents: CoreComponents,
Expand Down
Loading

0 comments on commit e6249f4

Please sign in to comment.