Giter VIP home page Giter VIP logo

camunda-bpm-assert's People

Contributors

berndruecker avatar danielkelemen avatar dependabot[bot] avatar dlavrenuek avatar falko avatar fjakop avatar hawky-4s- avatar ingorichtsmeier avatar jangalinski avatar kifj avatar koevskinikola avatar margue avatar marstamm avatar martinschimak avatar mboskamp avatar meyerdan avatar rafacm avatar stefanzilske avatar stephenott avatar svenpolte avatar tasso94 avatar thorbenlindhauer avatar tmetzke avatar tobiasschaefer avatar yanavasileva avatar zambrovski avatar zapata avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

camunda-bpm-assert's Issues

Split the README.md into BPMN and CMMN parts

Due to the size of the current README.md, we should not add the CMMN stuff to it.

Proposal:
/camunda-bpm-assert/README.md contains genric things and links to
/camunda-bpm-assert/README-BPMN.md and
/camunda-bpm-assert/README-CMMN.md

Also, the README-CMMN.md should incorporate and replace CMMN.md.

update assertJ to 1.6.x

we still use 1.5, there is a new version out. Didn't check the changelog, but it wouldn't hurt to use latest in the next release.

multi module naming

Since the now called "*-core" module (jar) is the only module I would really want to import in my test-scope, I'd suggest shifting the naming from

assert
+- assert-core
+- assert-examples

to

assert-root (or -parent)
+- assert
+-assert-examples

This way, I don't have to know the projects internal structure to just use the dependency, its camunda-bpm-assert and nothing else.

Add possibility to query HistoricVariableInstances

If a process instance is ended it should be possible to query at least the latest value of a process variable.
I think it would be OK to do that internally in the "variables()" assert - just return the map of HistoricVariableInstances if a ProcessInstance is ended. Or create a new "historicVariables()"?

Publish to mvn central

Once we switch to 7.1 we should have everything together to publish on mvn central which would spare the users the extra efford of registering an additional repo.

provide less confusing message for "getExistingCurrent"

A colleague working with the assertions in our new project just came to me because he was confused by an assertion error message.

He was using "assertThat(processInstance).isWaitingAt("foo")", but accidentally modelled a "Task" instead of a "UserTask". So the execution had not wait state and the test failed.
So far so good. But, the message he got was:

   "Expecting assertion to be called on non-null current state of actual %s, "but found it to be null!"

This happens because of the "A getExistingCurrent()" method called before the isWaitingAt assertion.

I believe, a simple "the process instance already ended" would be clearer here, helping to find the real bug - wrong task type.

Sort out problem with hasCandidateGroup

Thanks.

This appears to be a problem in camunda-bpm-assert rather than in the engine.

The method TaskAssert#hasCandidateGroup makes the following query:
taskQuery().taskId(actual.getId()).taskCandidateGroup(candidateGroupId).singleResult();

The javadoc for TaskQuery#taskCandidateGroup says:

Per default it only selects tasks which are not already assigned to a user. To also include assigned task in the result specify {@link #includeAssignedTasks()} in your query.

So, the query you need is
taskQuery().taskId(actual.getId()).taskCandidateGroup(candidateGroupId).includeAssignedTasks().singleResult();

Are you sure that this worked with 7.2? Because the null check for assignee when filtering by candidate group appears to be there for quite a long time already.

Cheers,
Thorben

Provide Junit Rule (TestWatcher) for init/reset ProcessEngineAssertions

Since we have to init and reset every use of the Assertions anyway, it would be nice to have a rule (TestWatcher or external resource) that takes care of this via before/after.
With junit 4.11 this rule can then easily be chained with other rules (processEngineRule, needleRule) to orchestrate test behavior.

Duplicate creation of process engine

in case neither a default engine was found nor init() was called before. Instead an IllegalStateException should be thrown.

  • Assumedly ProcessEngines.getDefaultProcessEngine must be called with forceCreate = false
  • To be considered: use the only process engine available in the process engines map, if there is only one...

assertThat(processInstance).task("foo")... does not fail with "instance not waiting at 'foo'"

I wanted to get an assertion error that states that my expectation about the state of the current process is false, like "expected processinstance 9 to be waiting at "foo", but was "...".
Instead I got "actual must not be null", so the task "foo" was not found and the assertion just went on, failing with a very hard to read error message.

Wish: Make assertThat(processINstance).task("foo").isXXX() fail with "not waiting at task "foo"" when the task is not active.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.