profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/barthez/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Bartek Bułat barthez Kraków, Poland

barthez/FaceDetectionCNN 16

Face Detection - Convolutional Neural Networks Approach

barthez/eml2html 7

Extract html, text and attachments from *.eml files.

barthez/diabetic-android-app 5

Android app for diabetics

barthez/arduino-ecg 3

Arduino ECG monitor

barthez/CracowTramSimulation 2

Symulacja działania krakowskiej sieci tramwajowej oparta o automaty komórkowe

barthez/Face-Recognition-Methods---Survey 2

Survey about methods of face recognition

barthez/boids-html5 1

Boids simulation in HTML5

barthez/book-recognition-with-surf 1

Application (with library) for book's cover recognition using SURF algorithm

barthez/absinthe 0

The GraphQL toolkit for Elixir

barthez/active_data 0

Working with any data in AR style

delete branch toptal/pact_broker

delete branch : make-webhooks-match-pacticipants-by-label

delete time in 7 days

pull request commentpact-foundation/pact_broker

feat: Allow webhooks match pacticipants by label

We will work on pact_broker-client upgrade next week.

barthez

comment created time in 7 days

push eventtoptal/pact_broker

Bartek Bułat

commit sha 9baeaf66926e7b9244ede88b4c4402e6f3c6ce92

Add pb:consumers and pb:providers to webhook links

view details

push time in 8 days

push eventtoptal/pact_broker

Bartek Bułat

commit sha 6f0f9ead432b4962c6965ca9d9788f2daa6f50de

Fix migration for SQLite

view details

push time in 8 days

PullRequestReviewEvent

Pull request review commentpact-foundation/pact_broker

feat: Allow webhooks match pacticipants by label

 def pacticipant_exists?(name)               end             end -            required(:name).filled(:pacticipant_exists?)+            optional(:name)+              .maybe(:pacticipant_exists?)+              .when(:none?) { value(:label).filled? }++            optional(:label)+              .maybe(:str?)+              .when(:none?) { value(:name).filled? }++            rule(label: [:name, :label]) do |name, label|

You cannot commit tears and blood to git repo, lot of these were used to pay for this to work 😄

barthez

comment created time in 8 days

Pull request review commentpact-foundation/pact_broker

feat: Allow webhooks match pacticipants by label

+Sequel.migration do+  change do+    alter_table(:webhooks) do+      add_column(:consumer_label, String)+      add_column(:provider_label, String)++      add_constraint(:consumer_label_exclusion, "consumer_id IS NULL OR (consumer_id IS NOT NULL AND consumer_label IS NULL)")

Base on https://dev.mysql.com/doc/refman/5.7/en/alter-table.html and https://dev.mysql.com/doc/refman/8.0/en/create-table-check-constraints.html check constraints are inefficient in mysql 5.x (syntax is accepted by engines ignores it). In 8.x adding named check constraints works in 8.0.16+, it is ignored prior that version.

Regarding SQLite, there seems to be an issue in Sequel adapter. I had to split alter_table block into 2 to handle adding both constraints at once. In other case it ended up adding last one only.

barthez

comment created time in 8 days

PullRequestReviewEvent

push eventtoptal/pact_broker

Bartek Bułat

commit sha 3ee686ff0837ef802df65b39992a420b3bdabee4

Fix docs link

view details

push time in 9 days

pull request commentpact-foundation/pact_broker

feat: Allow webhooks match pacticipants by label

Hey @bethesque , I think I'm ready with this PR. I tested it with following "reproduce-issue" script content:

  td.delete_integration(consumer: "Foo", provider: "Bar")
    .delete_integration(consumer: "foo-consumer", provider: "bar-provider")
    .create_pacticipant("Foo")
    .create_pacticipant("Bar")
    .create_pacticipant("Baz")
    .create_label("Foo", "the_label")
    .create_label("Baz", "the_label")
    .create_webhook_for_event(
      uuid: "cf51d68a-78b1-4164-912a-986096b2c3b3",
      event_name: ["contract_published", "provider_verification_published"],
      consumer: {label: "the_label"},
      url: "http://localhost:5011/status/200"
    )
    .publish_pact(consumer: "Foo", consumer_version: "1", provider: "Bar", content_id: "111", tag: "main")
    .publish_pact(consumer: "Baz", consumer_version: "1", provider: "Bar", content_id: "122", tag: "main")
    .get_pacts_for_verification(
      enable_pending: true,
      provider_version_tag: "main",
      include_wip_pacts_since: "2020-01-01",
      consumer_version_selectors: [{ tag: "main", latest: true }])
    .verify_pact(
      index: 0,
      provider_version_tag: "main",
      provider_version: "1",
      success: true
    )

And it triggers 3 webhooks, for both pacts publication and one verification publication.

I have one question though, should we show the webhook from preceding script on /webhooks/consumer/Foo endpoint?

barthez

comment created time in 9 days

push eventtoptal/pact_broker

Bartek Bułat

commit sha 59eef6d577f1d550aa868582547eacef78013ff8

Improve webhook display in hal browser

view details

Bartek Bułat

commit sha 870fe837f7f95c1960633bfbc24aedb231f46592

Improve test data builder

view details

push time in 9 days

push eventtoptal/pact_broker

Bartek Bułat

commit sha 9cd7fe04eccc3c6b208c4c4960aa82008a16b4fc

Make Rubocop happy

view details

Bartek Bułat

commit sha 28d4e1ec5213edd9fba200b33742ed49e8885911

Fix mysql errors

view details

push time in 9 days

push eventtoptal/pact_broker

Bartek Bułat

commit sha 7c53bee7d58c7cd85778e10aef9ac2e6820c1629

Make specs pass

view details

push time in 10 days

push eventtoptal/pact_broker

Beth Skurrie

commit sha dead86f1e94b10d2bf271a3769a43085e882ca27

chore(deps): lock dry-configurable to working version

view details

Beth Skurrie

commit sha 6f3d187b0cbdf7cb1b2e4694f22de62523dbac6f

chore: handle nil webhook_host_whitelist

view details

Beth Skurrie

commit sha 2d5141d435db5207b7773f27938a252a749d8d75

chore: show branch/tag/no filter view per the available data

view details

Beth Skurrie

commit sha 326c068e64b48f3af9ba22e1b5c79366f96ef547

feat: show in the UI whether or not a pact was pending when verification failed

view details

Bartek Bułat

commit sha 594315a169da20be39f6b65642f21d25da9855cf

Add docs and failing tests for webhook label matching Add documentation and some failing specs for a feature of providing pacticipants labels to webhooks so it can match subset of pacticipants when triggered.

view details

Bartek Bułat

commit sha ffaaf56d809289b4469f1d8b3b87a9a745680f9e

Allow webhook creation with pacticipant label parameter

view details

push time in 11 days

PR opened pact-foundation/pact_broker

feat: Allow webhooks match pacticipants by label

The idea behind this feature is to reduce repetetive webhooks for group of pacticipants that are groupped with the same label. If event and webhook url/body are the same it make hard to maintain multiple webhooks for set of pacticipants.

+178 -10

0 comment

5 changed files

pr created time in 11 days

create barnchtoptal/pact_broker

branch : make-webhooks-match-pacticipants-by-label

created branch time in 11 days

pull request commentpact-foundation/pact_broker

feat: Add consumer and provider pattern to webhooks

Thank you very much Beth! I will close the PR and open new one for labels!

barthez

comment created time in 15 days

pull request commentpact-foundation/pact_broker

Add consumer and provider pattern to webhooks

Hey, @bethesque! As you have discussed with @p0deje, here is a suggested feature for webhooks to match on pacticipant names with wildcard pattern. What do you think about it, should I proceed with implementation?

barthez

comment created time in 17 days

PR opened pact-foundation/pact_broker

Add consumer and provider pattern to webhooks

Base on slack conversation we would like to add an ability to create webhooks with consumer/provider pattern instead of name so webhooks can be triggered when event happens on subset of pacticipants.

This is draft, created to validate the idea by providing documentation and specs first.

+152 -10

0 comment

4 changed files

pr created time in 17 days

push eventtoptal/pact_broker

Bartek Bułat

commit sha b2ba458bf76c65efc1a3b18c32814240051c476e

Add docs and failing tests for webhook patterns Add documentation and some failing specs for a feature of providing patterns to webhook provider/consumer so it can match subset of consumers by wildcard matching.

view details

push time in 17 days

fork barthez/nock

HTTP server mocking and expectations library for Node.js

fork in 25 days

push eventbarthez/query-planner-error-example

Bartek Bułat

commit sha bd99bc0e9ad0ad812088d55dd22ac730850f4684

Update deps

view details

push time in 3 months

issue commentapollographql/federation

Query planner unwraps interface implementations incorrectly

Hey @trevor-scheer, is there any chance you could give some feedback in here. I have tried to fix it with https://github.com/apollographql/federation/pull/816 but it turned out to break other things (when types are actually shared between services). If you could give me some hints I could try to fix it and create a PR.

barthez

comment created time in 3 months