Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 07 19:48
    xvik commented #194
  • Dec 07 19:41

    xvik on gh-pages

    Publish 5.4.0 documentation (compare)

  • Dec 07 19:40

    xvik on master

    update mkdocs plugin (compare)

  • Dec 06 19:29

    xvik on gh-pages

    Delete 5.0.0-rc.3 directory (compare)

  • Dec 06 19:28

    xvik on gh-pages

    Delete 5.0.0-rc.2 directory (compare)

  • Dec 06 19:28

    xvik on gh-pages

    Delete 5.0.0-rc.1 directory (compare)

  • Dec 06 17:33

    xvik on gh-pages

    Delete 5.0.0.RC1 directory (compare)

  • Dec 01 07:40

    xvik on master

    remove mkdocs workaround (compare)

  • Dec 01 07:40
    dependabot[bot] commented #197
  • Dec 01 07:40

    dependabot[bot] on gradle

    (compare)

  • Dec 01 07:39
    xvik closed #197
  • Dec 01 07:39

    dependabot[bot] on gradle

    (compare)

  • Dec 01 07:39

    xvik on master

    Bump ru.vyarus.mkdocs from 2.1.… Merge pull request #196 from xv… (compare)

  • Dec 01 07:39
    xvik closed #196
  • Nov 30 23:41
    codecov-commenter commented #196
  • Nov 30 23:41
    codecov-commenter commented #196
  • Nov 30 23:38
    codecov-commenter commented #196
  • Nov 30 23:38
    codecov-commenter commented #196
  • Nov 30 23:37
    codecov-commenter commented #196
  • Nov 30 23:37
    codecov-commenter commented #196
Vyacheslav Rusakov
@xvik
Annotation declares scope: annoting method means transaction scope will equal to this method. You can call any (number) of dao methods within this method and they would be called at the same transaction
if you put InTransaction at the class level it would affect all methods. So when I annotate DAO interface I declare minimal transaction scope (any called method would create its own transaction)
Shachar Levy
@levyshachar2
Got it , thank you!
Vyacheslav Rusakov
@xvik
If you have some annotated service method which calls muliple dao methods then you enlarge transaction scope (annotation on dao interface ignored in this case and all methods will be called at the same transaction)
Shachar Levy
@levyshachar2
so basically the top layer annotation defined the daos for all the transaction
Vyacheslav Rusakov
@xvik
top layer annotation defines actual transaction scope other scope declarations inside it are ignored (as scope already opened)
usually transaction scope is declared on service layer (rest is too early to avoid transport errors and dao is too low).. but not a rule ofc (dropwizard-hibernate prefer rest method scoped transactions).
Shachar Levy
@levyshachar2

@xvik Hi , I have a small question.
In our testing we are using GuiceyAppRule to start our service from within the tests.
To define the GuiceyAppRule we need to provide the path to the config.yaml file, however our config files are residing in the Src folder and not in the test folder, which makes it fails to find the configuration files.
As a temp workaround , we copied the files from the Src also to the test folder.
We were wandering if there is a better alternative for that , didn't find something in the documentation.

thank you

Vyacheslav Rusakov
@xvik
@levyshachar2 Hi! That's strange because I always specify config paths from project root, for example https://github.com/xvik/dropwizard-guicey-examples/blob/master/ext-jdbi3/src/test/groovy/ru/vyarus/dropwizard/guice/examples/UserRepositoryTest.groovy#L13. But it's in gralde. I don't remember what is the default in maven.
There is no magic applied to config paths, it's just passed to dropwizard as is (only working dir is important). But still, even if your work dir is lower then project root you can try to use backwards navigation like "../../main/resources/.."
Vyacheslav Rusakov
@xvik
You also can (not a very good idea, but still) specify custom ConfigurationSourceProviderin bootstrap object (using guicey hook) and find correct file there.
Shachar Levy
@levyshachar2
Thank you for your help , ill try it
John LaBarge
@johnlabarge
Hi I'm new to dropwizard-guicey and trying to figure out how to test a rest resource is t here an example somewhere?
Vyacheslav Rusakov
@xvik
@johnlabarge hi! You have 2 ways:
  1. Use dropwizard testing approach which is basically unit tests with dependencies mocking
  2. Use integration tests (and I prefer this one): when test starts complete web application and you call rest services with a client
For the later, guicey provides testing extension and pre-configured client
There are also juni4 and spock extensions, but junit 4 version lacks client support (you will have to instantiate client manually). And, if possible, prefer junit 5
John LaBarge
@johnlabarge
trying to figure out where the. "Specification" class comes from.
Vyacheslav Rusakov
@xvik
oh! its a mistake, sorry .. junit example was based on spock example
no need to extend anything for junit
John LaBarge
@johnlabarge
so how does the ClientSupport object injection work?
when I try to run it I get an error : should have no parameters
example test, ignore @Nested - its not important.. just was used for this exact test
ClientSupport is injected as test method parameter (could be also used as Before/after method parameter)
John LaBarge
@johnlabarge
yeah when I try to do that I'm getting "should 0have no parameters" exception
Trying to figure out what I'm missing
Vyacheslav Rusakov
@xvik
are you using junit 5?
John LaBarge
@johnlabarge
I think so
oop
*oops had a stray 4 dependency in my gradle file
still same issue :(
may need a clean
Vyacheslav Rusakov
@xvik
junit4 dependency itself is not a problem as junit5 use completely different package (and so even different Test annotation class)
John LaBarge
@johnlabarge
the exception is coming from here though: at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
Vyacheslav Rusakov
@xvik
seems junit 4 tries to run it
are you using gradle to run tests?
John LaBarge
@johnlabarge
I tried gradle and IDE
Vyacheslav Rusakov
@xvik
useJUnitPlatform()
for project itself you need (run from IDE should work with this)
testImplementation 'io.dropwizard:dropwizard-testing'
testImplementation 'org.junit.jupiter:junit-jupiter-api'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter'
John LaBarge
@johnlabarge
oh !
gradle test now works
Ide is borked differently tho
Vyacheslav Rusakov
@xvik
idea?
John LaBarge
@johnlabarge
yep :)
Vyacheslav Rusakov
@xvik
))
hmm never have problem running junit5 tests.. it should work
guicey itself use all kinds of tests (spock, junit4, junit5) and idea could run anything without additinoal configurations
John LaBarge
@johnlabarge
found an SO post
John LaBarge
@johnlabarge
ah it's not running any tests