Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline2 #36

Merged
merged 2 commits into from
Mar 21, 2017
Merged

Pipeline2 #36

merged 2 commits into from
Mar 21, 2017

Conversation

Natkeeran
Copy link
Contributor

GitHub Issue: (link)

What does this Pull Request do?

  • This PR implements the RoutingSlip or Pipeline camel route.

What's new?

  • pipeline component

How should this be tested?

One way to test this is to create a sample log or file route. An example is provided below. Can verify that the component is working via logs!

    	from("timer:foo?period=5000")
    	.log(INFO, LOGGER, "Hello World")
    	.setHeader("IslandoraPipelineRecipients", simple("broker:queue:testqueue"))
    	.to("broker:queue:islandora-connector-pipeline");

<< People with better camel expertise, please provide additional instructions >>

Additional Notes:

Danny noted that Pipeline or boradcast could be re-factored into one component with ExchangePattern option being passed in as a header to RoutlingSlip. Needs further research.

This is pretty much Danny's code, I had a chance to understand it.

Interested parties

@dannylamb
@Islandora-CLAW/committers

@Natkeeran Natkeeran mentioned this pull request Mar 14, 2017
@codecov
Copy link

codecov bot commented Mar 14, 2017

Codecov Report

Merging #36 into master will decrease coverage by 12.35%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##             master   #36       +/-   ##
==========================================
- Coverage     82.35%   70%   -12.36%     
  Complexity        3     3               
==========================================
  Files             2     3        +1     
  Lines            51    60        +9     
==========================================
  Hits             42    42               
- Misses            9    18        +9
Impacted Files Coverage Δ Complexity Δ
...dora/alpaca/connector/pipeline/PipelineRouter.java 0% <0%> (ø) 0 <0> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0ef0be0...cbd772d. Read the comment docs.

@dannylamb
Copy link
Contributor

Hey @Natkeeran, thanks for throwing this up. You've successfully pulled together an Alpaca subproject, got it integrated into the build system, and got a feature going. That's impressive. I think it's great you took this bull by the horns.

I'll give this a deeper look and take it for a spin. If it floats, we'll go ahead and pull this in. I'll add the changes we were talking about in IRC in a subsequent PR.

@Natkeeran
Copy link
Contributor Author

@dannylamb Thanks Danny. Please point me to some examples of tests, and I can follow that and add them as well.

Copy link
Contributor

@dannylamb dannylamb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 It builds. Feature installs. I made test routes and it runs (after changing config, of course).

Let's bring this in and we'll merge it with broadcaster in a subsequent issue.

And don't worry about tests right now. Codecov.io is unhappy but I'm making an executive decision. You're not doing anything that isn't already covered by existing camel tests.

@dannylamb dannylamb merged commit 558ef69 into Islandora:master Mar 21, 2017
@acoburn
Copy link
Contributor

acoburn commented Mar 21, 2017

@Natkeeran unit testing camel routes can be a real pain -- for a lot of our code at Amherst, I just skip unit testing altogether and opt for really, really simple camel routes: the sort of routes that don't (IMO) need testing; sort of like this route here. The important bit of testing for camel stuff comes in with Pax Exam, which is way more complicated that unit tests. Plus, I find that the integration testing I can do with pax exam is way more useful than unit tests.

You can find some examples here: https://gitlab.amherst.edu/acdc/repository-extension-services/tree/master/acrepo-itests

and here: https://github.com/fcrepo4-exts/fcrepo-camel-tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants