Commit Graph

55 Commits

Author SHA1 Message Date
Aleksey Kashapov
28c1b38ec6
TD-686: Adopts opentelemetry API (#40) 2023-10-24 16:14:18 +03:00
Andrew Mayorov
1c7f97d16c
TD-416: Ensure partially reduced predicate is valid predicate (#23)
* Simplify combination consisting of single predicate
* Add extra testcases
* Enable coveralls
2022-10-03 13:54:20 +03:00
Артем
4ea2b1562e
TD-330: Bump damsel (#20)
* bumped to valitydev/damsel@03bbf48

* fixed after bump

* updated workflow version

* fixed fmt and linter

* fixed

* fixed

* changed cache version

* Revert "Auxiliary commit to revert individual files from 7f5eb344211ed6353bf5391b9d331ef2fc50ebf7"

This reverts commit 8d9749077970f9b0759b777e90a35d188a3d669c.

* fixed
2022-07-01 13:40:47 +03:00
ndiezel0
f757b7905b
TD-262: Move from shumpune to accounter (#15)
* TD-262: Move from shumpune to accounter

* Fix spec

* Add test

* Fix
2022-04-08 01:32:50 +03:00
Alexey S
76058e0aa8
TD-226: Remove UserInfo-based auth (#13) 2022-04-05 14:51:12 +03:00
ndiezel0
a405fce864
TD-128: Add CI, Makefile, Dockerfile and docker-compose.yaml (#2)
* TD-128: Add CI, Makefile, Dockerfile and docker-compose.yaml

* Fix format and lint

* Use compose test

* Update erlang workflow version

* Add covertool

* Move to valitydev repos

* Add prometheus clarification

* Use compose spec instead of docker compose spec

* Update .github/workflows/build-image.yaml

Co-authored-by: Alexey S. <kehitt@users.noreply.github.com>

* Add healthchecks to dominant and machinegun in compose file

* Fix Dockerfile SERVICE arg

* Try to solve mystery of alias

* fix

* fix

* fix

* Only check shumway to be healthy

* Insert daemon socket

* Find container

* Inspect last container

* Try different method to print inspect

* One last try

* Fix

* Remove hostname from docker-compose.yaml

* Check `$SERVICENAME` availability

* cat envfile

* Test theory

* Change service name

* Revert experiments

* Fix healthcheck

* Disable wait for health on dominant

Co-authored-by: Alexey S. <kehitt@users.noreply.github.com>
2022-02-07 11:17:17 +03:00
ndiezel0
5a55e2604c
Fix io encoing (#2)
* Fix io encoing

* Fix iosetopts
2021-12-25 14:28:10 +03:00
Sergey Yelin
f55197723b
ED-242: Upgrade Erlang 24 (#13) 2021-09-14 12:54:42 +03:00
yuri-bukhalenkov
45184ecf6e
Ed 97/feat/sync from hg (#3)
* * Adapt party machine transmutations facilities to support it

     * Encode party state snapshots as thrift binary

     * Avoid excessive party event decoding

     * Removed pm_event_provider

* Fix get revision w/ empty index

* reduced calling machinegun to O(log(N)) while getting history
2021-06-28 15:46:02 +03:00
yuri-bukhalenkov
52f3bbe920
changed workdir according a wetkitty:service-erlang.sls.tpl (#1)
* changed workdir according a wetkitty:service-erlang.sls.tpl

* fixed: formatter

* used SERVICE_NAME variable to setup paths and docker image name

* fixed tests
2021-06-18 15:02:32 +03:00
Yuri Bukhalenkov
9d0e765920 moved party_management to a separated microservice 2021-05-24 14:30:10 +03:00
dinama
f6fef9983c upgrade: +image +deps +endpoints (#535) 2021-01-31 17:39:04 +03:00
dinama
6caab9468f update build env (#525) 2020-12-09 17:36:14 +03:00
Sergey Yelin
2b52307fde Cleanup release env (#518)
* Cleanup release env

* Fix formatter version

* Fix formatter url
2020-12-02 13:55:34 +03:00
Sergey Yelin
7752578689 Revert "Cleanup release env"
This reverts commit 128d99f9658694468e580b7ab3e7a9bde6717499.
2020-12-02 11:57:12 +03:00
Sergey Yelin
c7fb216e64 Cleanup release env 2020-12-02 11:46:25 +03:00
Sergey Yelin
57ca9a8bd5 Add prometeus (#494) 2020-10-24 09:01:20 +03:00
ndiezel0
e9893dcc43 HG-452: Add caching for Checkout Party (#487)
* HG-452: Add caching for Checkout Party

* HG-452: Fix dialyzer

* HG-452: Format

* HG-452: Make cache work

* HG-452: Review fix

* HG-452: Fix specs

* HG-452: Review fix

* HG-452: Fix

* HG-452: Review fix

* HG-452: Format
2020-10-16 13:41:47 +03:00
Andrey Fadeev
8093d04623 Try erlfmt (#479)
Co-authored-by: Sergey Yelin <elinsn@gmail.com>
2020-09-25 18:14:03 +03:00
Roman Pushkov
583174c653 HG-495: chargebacks (#346)
* wip chargeback handler

* add chargeback test draft

* update deps

* update deps

* create chargeback draft

* add create chargeback to client

* create chargeback test draft

* update dmsl

* update test

* cashflow wip

* update payment events

* update deps

* attempt fix deps

* update dmsl

* update test

* add get payment chargeback to client

* add get payment chargeback handler

* cashflow wip

* fix linter errors

* wip create chargeback

* damsel update

* fix dmsl

* update dominant

* merge cb terms

* update id generation

* add test placeheolders

* update hg client

* add update chargeback

* update client

* update tests

* update events

* add implementation wip

* update cancel

* update tests

* update damsel

* add more chargeback tests

* update implementation

* update dominant

* update damsel

* some fixes

* add reopen tests with hold funds

* update reopen logic

* udpate damsel

* add cancel after reopen test

* add cancel after reopen implementation

* add more tests

* add balance checks to tests

* cashflow fix

* add more balance checks in tests

* fix cashflow bug

* add tests for reopening chargebacks after failures

* add reopen after failures handling

* finalise test to be sure

* fix test

* do not change payment status on accept with partial cash

* remove failures from tests

* update damsel

* test updates and fixes

* update implementation

* update damsel

* type cleanup, some refactoring

* cleanup, remove ct:print, refactor

* minor cleanup

* update tests

* add inconsistent currency check

* udpate damsel

* update tests

* udpate damsel

* move chargebacks to separate module

* move chargebacks to a separate module

* fix types

* some refactoring

* types, some refactoring

* update damsel

* update dominant + minor

* update tests

* update implementation

* update damsel

* fix merge

* fix lost types

* add cash to pending, remove from cb changed

* update damsel

* update damsel

* update dominant

* minor

* update events

* add params to reject

* update damsel

* update tests WIP

* update invoice payment

* update chargebacks WIP

* update tests

* update damsel

* update events

* update invoice payment

* update chargeback implementation

* minor cleanup

* increase god module cap a bit

* cleanup

* update events

* update damsel

* update tests wip

* update implementation wip

* update events in tests

* update damsel

* update chargeback events

* clean prints, restore cash flow handling on first reopen, reset target status

* fix dialyzer

* update tests

* update cash flow handling and reject logic

* fix indentation

* refactoring, moved activities to chargebacks module

* move process result to chargeback

* fix config formatting

* move no pending chargebacks check to invoice

* move getters to chargebacks module

* idempotent creation

* merge party cb terms

* syntax fixes

* fail routing with no chargeback terms

* move choose_provider_account to payment institution

* fix export

* remove unnecessary validations

* revert accessibility validation

* fix deletion

* minor refactoring

* remove pending chargebacks check from invoice

* Fix postgresql link (#421)

* refactor chargeback activity, fix idempotency

* update tests

* update dmsl

* add cb to varset

* fix

* removed get_opts, set_opts

* clean up chargebacks

* update deps

* move choose_external_account

* fix types

* add todo for cash flow rework

* remove redundant aliases

* unified define_params_cash function

* remove contract validation

* remove contract validation

* cash flow handling rework, docs update

* remove redundant validation

* fix merge

* add partial capture chargeback test

* add separate plans for stages

* wrap events externally

* add partial payment chargeback test with exceeding body

* fix type errors

* rework event handling

* elvis update

* cleanup

* move pending chargebacks check

* move validations

* move more validations

* separate body and levy in cash flow

* minor

* update cb options

* minor rename

* disable cancel during initialisation

* update activity naming

* set operation_amount to 0 on reject

* update merge_change validations

* update test chargeback test fixture

* use remaining amount if body is undefined

* add double chargeback test

* fix wrong types

* move some validations

* move create validations, update opts

* longer hold period for capture

* update damsel

* add chargeback service terms validation

* add chargeback not allowed test

* minor cleanup

* tests cleanup, add chargeback fees placeholder

* add test placeholders for provider levy

* split service and provision cf contexts

* fix typo

* update dominant

* export hg_cashflow:compute_volume/2

* update test fixture

* implement provider levy

* formatting

* update tests

* fix types

* fix types

* prolong test timeout

* merge update

* reduce allow predicate

* cb provider levy cash flow update

* cleanup

* add chargebacks to reduce

* add eligibility validation

* fix chargeback terms reduction

* throw misconfiguration if allow can not be reduced

* use add_previous_stage function

* fix type errors

* update cancel handling, store last cash flow, use cb creation timestamp, cleanup

* update hg client

* update damsel

* update tests

* add occurred_at to invoice event

* update params macros

* implement occurred_at

* export cancel params

* disable flappy tests

* fix typo

* simplify occurred_at extraction

* restore explicit clause matching in finalise

* clean ct:prints

* fix whitespace

* attempt at unflapping tests

Co-authored-by: Sergey Yelin <elinsn@gmail.com>
2020-03-27 12:58:41 +03:00
ndiezel0
f5a8ccfc6f HG-452: Move party and claim management to its own app (#407)
* HG-452: Move party and claim management to it's own app

* HG-452: Remove unused exports

* HG-452: Fix tests, remove old eventsink on party

* HG-452: Revert pm_event_provider

* HG-452: Remove `hg_contract`

* HG-452: Add pm_client and pm_proto

* HG-452: Fix lint

* HG-452: Move party and claim management tests to `party_management`

* HG-452: Fix dialyzer

* HG-452: Fix tests

* HG-452: Fix tests

* HG-452: Remove some includes in hg, bring back `hg_party`

* HG-452: Remove party client from party management

* HG-452: Remove `hg_payout_tool` and rename `pm_invoice_utils` => `pm_currency`

* HG-452: Add party_management config

* HG-452: Remove unused function from common test helpers

* HG-452: Remove unused function from pm_ct_helper

* HG-452: hg_selector => pm_selector

* HG-452: Fix lint

* HG-452: Strip down party_management config and bring back party_events.hrl to hellgate

* HG-452: Fix order of app loads in tests

* HG-452: Bring back `hg_client_party`

* HG-452: Fix tests

* HG-452: Use pm_party in hg, where it is appropriate

* HG-452: Remove unused `hg_client_party` code

* HG-452: Remove unused macros in `hellgate/include/party_events.hrl`

* HG-452: Remove party_management from list of services in config

* HG-452: Remove hg_client and pm_client need to get service_spec

* HG-452: Clean up `party_management/include/domain.hrl` from unused macros

* HG-452: Format `xref_checks` like `erl_opts`

* HG-452: Bring back old event_sink for party events

* HG-452: Simplify include in test

* Merge branch 'master' into HG-452/ft/party_management_new

# Conflicts:
#	apps/hellgate/src/hg_party.erl

* HG-452: Review fix
2020-02-28 15:02:25 +03:00
Sergei Shuvatov
39e41dff4d MSPF-532: get rid of rfc3339 library (#424) 2020-02-26 20:53:09 +03:00
Sergey Yelin
6f69fe59ca HG-500: Switch to shumpune-proto (#353)
* HG-500: Switch to shumpune-proto

* Added shumpune

* Switch to shumpune

* Fix call to get_balance

* Upgrade to fixed shumpune

* Add shumpune to sys.config

* AffectedAccounts -> Clocks

* Cleanup

* Add missing shumpune_proto to hellgate

* More cleanup

* Fix spec fot commit/rollback

* Remove shumoune service and switch accounter to shumpune

* Split plan/2 to plan/2 and hold/2.

* Remove shumway (free resources)

* More API cleanup

* More cleanup

* Change plan/2 according protocol

* Update shumpune

* Switch to shumway

* Switch to shumway

* Fix test config

* Revert "Revert "HG-516: pass transport_opts in hg_client_api (#371)" (#375)"

This reverts commit 1f96b4a0d3ff3f6ddcb3d70a33f4073e895c7744.
2019-10-15 13:17:42 +03:00
Boris
5864fb9e19 add mobile_commerce; add tests; suspend timeout behaviour (#340) 2019-08-19 17:16:16 +03:00
Toporkov Igor
ce684ee8a1 MSPF-475: Replaced sequences with bender (#345)
* Replaced sequnces with bender

* Nested bender generation call

* Added bender url to config

* Removed unnecessary lines

* Construct refund id without bender

* Implemented proper id construction

* Operator whitespace fix

* Refactored test

* Codestyle fix

* Removed bender

* Simplified max id search

* Renamed dmsl
2019-08-09 13:54:11 +03:00
Alexey
dbb42b2249 HG-496: Upgrade damsel (#349) 2019-08-08 15:28:49 +03:00
Sergey Elin
2db9db7b10 Remove logger_logstash_formatter from hellgate deps (#337) 2019-07-10 12:30:07 +03:00
Sergey Elin
8635a3769e Switch to logger (#335)
* Revert "HG-478 Revert update to Erlang 21 (#320)"

This reverts commit 7179e82258e6d8a779448640e2ebe4d5ed79a35b.

* MSFP-433: Erlang 21 with lager

* Fix comments

* HG-479: Switch to logger

* HG-479: Add memory limit for test container

* HG-479: Fix missing

* Fix logger config

* HG-479: Fix for logger formatter

* HG-479: lager -> logger
2019-06-21 21:48:37 +03:00
Roman Pushkov
0fc4198197 HG-466: Use fault detector in hellgate routing (#302)
* add fault-detector dep

* fix typo

* update rebar.lock

* update fault detector version

* init fault detector client

* add fault detector base

* add fault-detector url placeholder

* get fault-detector url from env

* fix woody client call

* fix formatting, update gitignore

* update fd client, add fd init placeholder after routing

* add fault_detector_proto to app.src

* fix register_operation in fault detector

* update register operation template after choosing route

* update fd client

* add fault detector to hg_proto

* add placeholder for fd scoring in routing

* add fault detector template to sys.config

* update fault detector client

* add GetStatistics call to routing

* update fault detector client

* update get statistics call in routing

* doc tweak

* fix typing

* fix type

* add init service after routing

* update fd client

* add fd notifiers on success and failure

* clean comments

* add fd dummy to tests

* update routing

* temporarily disable sending operations to fd

* add fd routing test case

* remove retry strategy from fd client

* minor tweak

* add fd routing test

* update tests

* update fd client

* update fd client

* refactoring, update test

* formatting fix

* minor refactoring

* more refactoring

* more refactoring

* fix formatting errors

* minor

* space fix

* fix typo

* remove whitespace

* fix whitespace

* Update hg_direct_recurrent_tests_SUITE.erl

* Update hg_invoice_tests_SUITE.erl

* formatting fixes

* separate routing tests

* update config

* update routing

* update fd client

* clean up comments, update fault detector calls

* fix errors

* fix line length

* fix commas

* fd refactoring

* improve fd formatting

* formatting

* refactoring

* add fail rate scoring test base

* split route selection into multiple functions, refactoring

* fix line length

* update fd config, move fd notification to hg_proxy_provider

* config update

* fd client refactoring

* new route selection + tests

* fix trailing comma

* update config

* update fd client with new config

* rework route selection algorithm

* fix error handling in hg_proxy_provider

* merge, update tests, fix types

* move to logger in fd client

* build_utils update

* fix build utils

* remove lager, update fd child spec

* minor refactoring

* revert to lager in fd

* revert to lager in routing tests

* add match on terminate child in tests

* remove unnecessary include
2019-05-27 11:06:38 +03:00
Sergey Elin
2f76b08b9a Add crypto currency (#326) 2019-05-24 11:40:32 +03:00
Sergey Elin
17c9a5dc41 Upgrade to Erlang 21 (with lager) (#322)
* MSFP-433: Erlang 21 with lager
2019-05-20 14:59:29 +03:00
Andrey Fadeev
45045eef0a HG-478 Revert update to Erlang 21 (#320)
* Revert "MSFP-433: Fix badmatch in woody (#316)"

This reverts commit c9174907a2fd80b7e2d1968a8a850549ce043f62.

* Revert "Upgrade woody (#315)"

This reverts commit e1ed1624971f30142da7a82653bd2ece7616be9d.

* Revert "HG-433: Upgrade to Erlang 21 (#313)"

This reverts commit faf7d595dd6e5a04a882a09514ee29d84ae4d582.
2019-05-17 11:52:11 +03:00
Sergey Elin
c482e862bb HG-433: Upgrade to Erlang 21 (#313)
* HG-433: Upgrade build_utils
* HG-433: Upgrade base erlang image and build image
* HG-433: Upgrade machinegun
* HG-433: Upgrade libraries
* HG-433: Switch to cowboy 2.x
* HG-433: Update dmt_client
* HG-433: Switch to logger
2019-05-08 15:17:59 +03:00
Andrey Fadeev
c0ff473653 MG-145 Add VM metrics collection (#278)
Add `how_are_you` library usage
2019-01-15 00:36:59 +03:00
Andrey Fadeev
20c7891416 HG-391 Add first payment recurrent (#246) 2018-09-26 21:18:21 +03:00
Andrey Fadeev
aa89507753 HG-389 Add caching party client usage (#232) 2018-09-06 18:50:37 +03:00
Andrey Fadeev
90850ead4e MSPF-373 Update woody version (#225) 2018-07-09 15:42:52 +03:00
Natalia Pulina
b024fd209b HG-360: Introduce apple pay (#203) (#207)
rbkmoney/damsel@d9b9706
2018-05-08 15:09:05 +03:00
Petr Kozorezov
e9e6de184b add "health" handle (#204) 2018-04-12 18:02:05 +03:00
Natalia Pulina
3268282848 HG-339: Introduce partial refunds (#187)
* HG-339: Introduce partial refunds (#176)

* HG-339: Enrich refund with payment cash for old events (#177)

* HG-341: Introduce provision and service terms for partial refunds (#180)

*  HG-348: Make refund id using sequences service (#186)

* HG-348: Make refund id using sequences service

* HG-348: Bump to rbkmoney/scoper@cbe3abc

* HG-339: rebar.config fixed

* HG-339: seq_proto -> hg_proto.app.src (#188)

* HG-339: Cant start simultaneous partial refunds (#189)

* HG-339: Bump rbkmoney/damsel@349d26c, Bump rbkmoney/dominant@007326a
2018-03-06 18:05:18 +03:00
Petr Kozorezov
04ab587a99 HG-345: Introduce error mapping (#175)
* update types and marshalling

* add errors representations convertor

* apply other review comments: add runtime type checking

* apply review fixes

* move errors code to a separate repo

* change damsel to master
2018-02-15 18:01:23 +03:00
Andrew Mayorov
d8fdfc4d1c Whoopsie! Switch back to master rbkmoney/damsel@7904077 (#182) 2018-02-15 13:31:36 +03:00
Andrew Mayorov
07afb0a2f7 Implement ad-hoc repairs w/ the ability to push arbitrary changes (#179)
* Make misbehaving testcase revert domain config alterations at the end
2018-02-15 12:43:14 +03:00
Anton Belyaev
d73592ca22 HG-273: move woody scoped logging to woody (#124)
* use scoper lib for log meta scoping
* remove woody_event_handler behaviour from hg_client_api (unused)
* update tests config for scoper
* bump up dmt_client (now with scoper support)
2017-10-26 13:59:47 +03:00
Natalia Pulina
8ebc4edd07 HG-274: records from mg_proto used, client for event_sink added (#123) 2017-09-18 18:02:46 +04:00
Evgeny Levenets
6911c14f6f CAPI-176: add payment terminal support (#106) 2017-08-18 11:38:15 +03:00
Artem Ocheredko
e42fb4b0a6 HG188-add user identity (#86)
* HG-188 Move to erlang 19 dialyzer and user identity access

* HG-188 Postreview refactoring
2017-05-17 11:50:18 +03:00
Petr Kozorezov
6b2a32b77e MSPF-192: add apps for the introspection (#71) 2017-02-10 16:33:33 +04:00
Evgeny Levenets
ccc419ed8f HG-72: save context in gproc instead of carrying around from function to function (#48) 2016-11-15 10:59:17 +03:00
Igor Savchuk
49843818ab add dmt_client (#21)
* add dmt_client

remove traitorous tab

fix traitorous spec

fixes

rebase fixes

add tiny little fixes

eta wtuka ni k chemu

fix tabs and spaces

* drop some ugly stuff

* use fresh dominant image

* update build_utils
2016-10-16 20:55:55 +02:00