fineract-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Markus Geiss <markus.ge...@kuelap.io>
Subject Re: fineract-CN running Tests?
Date Mon, 02 Oct 2017 22:28:40 GMT
so, we already offer the component-test with template project ...

In addition to the component-tests which only test that module and all
called services are mocked ... we also have integration tests (kudos to
Myrle) that will spin up multiple services and do a full test from end to
end ... we still need to enhance them and offer more integration tests, but
at least we have start.

Currently we are proposing to bring CN to Fineract, so right now there is
now attached Apache JIRA for it, but once it has passed the community all
tasks/issues will be tickets in JIRA.

On Mon, Oct 2, 2017 at 11:36 PM Sijo Cherian <sijo.cher@gmail.com> wrote:

> Thanks Markus/Myrle.
>
> Since the architecture, inter-microservice communication pattern is all new
> to me, I am thinking:
>
>    - if there is a small bug or task (does CN uses JIRA based assignment?),
>    in say Office.
>    - or if you define a typical hypothetical bug and give me pointers on
>    how to test multiple micro services: I can work on a sample solution,
> add
>    some documentation for other developers, and make it part of  "template"
>    project as a solve-this-bug-to-get-started exercise for new developers.
>
> /s
>
> On Mon, Oct 2, 2017 at 5:08 PM, Markus Geiss <markus.geiss@kuelap.io>
> wrote:
>
> > Hey Sijo,
> >
> > the purpose of a component-test is to do a module specific end-to-end
> test.
> > MariaDB, Cassandra, and Active MQ will be started in process.
> >
> > We consider this 'heavy tests' and they are different than regular
> > unit-tests ... that's why we haven't place them under test ...
> >
> > We only have regular unit test where reasonable ... meaning if we do some
> > calculation or other kind of magic.
> >
> > Given the component-tests are resource hungry, executing can take longer
> > then the default 30sec timeout we use in the event recorder. It is
> possible
> > to set a longer timeout if needed.
> >
> > If you use IntelliJ the easiest is to import a project using the gradle
> > plugin ... in this case you only need to import the top level folder of
> the
> > project ... given we use a composite build.
> >
> > Cheers
> >
> > Markus
> >
> > .::Yagni likes a DRY KISS::.
> >
> > On Mon, Oct 2, 2017 at 8:54 PM Sijo Cherian <sijo.cher@gmail.com> wrote:
> >
> > > Using IntelliJ
> > >
> > > In office, I generated ipr files (but this creates a new project per
> > > CN-project..any better way to have all modules in one place)
> > >
> > > after adding this to build.gradle apply plugin: 'idea'
> > >
> > > ./gradlew idea
> > >
> > > Test works  in office !
> > >
> > > What is the concept of component-test?
> > > Are they supposed to be a module under each of the micro service for
> Test
> > > code/artifacts?
> > > I was expecting tests under src/test (
> > > component-test/src/main/java/io/mifos/office/TestEmployee.java)
> > >
> > > Only some of the project have gradle *test* task defined (are we not
> > having
> > > test yet, or is component-test the area for Tests?)
> > >
> > > ./gradlew tasks --all
> > >
> > >
> > >
> > > /thanks
> > >
> > > On Mon, Oct 2, 2017 at 1:52 PM, Myrle Krantz <myrle@apache.org> wrote:
> > >
> > > > Hi Sijo,
> > > >
> > > > Which IDE are you using?  I'm using IntelliJ.  In all honesty, I
> never
> > > > run the component tests from the commandline and I don't know if it's
> > > > possible.  I sometimes have trouble in initialize when running from
> > > > the IDE, because it occasionally messes up and doesn't find the
> > > > migrations, but based on your "Migrating schema" message, that's not
> > > > the problem.  It's clearly finding the migrations.
> > > >
> > > > Have you tried running the tests on a service with less dependencies?
> > > > For example office?  Do you get the same result?
> > > >
> > > > Best Regards,
> > > > Myrle
> > > >
> > > >
> > > > On Mon, Oct 2, 2017 at 7:28 PM, Sijo Cherian <sijo.cher@gmail.com>
> > > wrote:
> > > > > Hi All,
> > > > >
> > > > > I am able to run tests in say core/api but not in non-core
> projects.
> > > > > What is the right way to run fineract-CN Tests in higher level
> > > projects?
> > > > > Are there some precondition /startup needed?
> > > > >
> > > > > Running test in deposit-account-management/component-test
> > > > > *On running from IDE  *TestAccrual.shouldAccrueInterest
> > > > > ...
> > > > > spring boot seem to starup fine
> > > > > After
> > > > > 13:10:28.097 [async-processor-1] INFO  o.f.core.internal.command.
> > > > DbMigrate
> > > > > - Migrating schema `cleopatra178961652` to version 4 - add unique
> > > > > constraint charges
> > > > > ...
> > > > >
> > > > > 13:10:57.370 [main] INFO  event-recorder-logger -* Waited 30004
> > > > > milliseconds*, and event initialize with payload 1 wasn't observed
> > > > >
> > > > > java.lang.IllegalStateException: Initialize didn't complete.
> > > > > at
> > > > > io.mifos.anubis.test.v1.TenantApplicationSecurityEnvir
> > > > onmentTestRule.before(TenantApplicationSecurityEnvir
> > > > onmentTestRule.java:86)
> > > > >
> > > > >
> > > > > and *How to run test from Terminal*
> > > > > cd deposit-account-management/component-test
> > > > > gradle -Dtest.single=TestAccrual test
> > > > >   doesn't seem to find the test since code is in src/main/java
> > > > >
> > > > >
> > > > > Any pointers on event initialize or how command-logger works, or
> how
> > > > > embedded Cassandra/Mysql starts up in Test
> > > > > is much appreciated.
> > > > >
> > > > > Many thanks
> > > > > /sijo
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message