migrate bilans bdf adapter to v3

This commit is contained in:
Christophe Robillard 2023-05-28 13:10:18 +02:00 committed by Martin
parent c2f2b4ef2a
commit 0f083db32b
5 changed files with 88 additions and 60 deletions

View file

@ -9,7 +9,7 @@ class APIEntreprise::API
EFFECTIFS_ANNUELS_RESOURCE_NAME = "v2/effectifs_annuels_acoss_covid/%{id}" EFFECTIFS_ANNUELS_RESOURCE_NAME = "v2/effectifs_annuels_acoss_covid/%{id}"
ATTESTATION_SOCIALE_RESOURCE_NAME = "v4/urssaf/unites_legales/%{id}/attestation_vigilance" ATTESTATION_SOCIALE_RESOURCE_NAME = "v4/urssaf/unites_legales/%{id}/attestation_vigilance"
ATTESTATION_FISCALE_RESOURCE_NAME = "v4/dgfip/unites_legales/%{id}/attestation_fiscale" ATTESTATION_FISCALE_RESOURCE_NAME = "v4/dgfip/unites_legales/%{id}/attestation_fiscale"
BILANS_BDF_RESOURCE_NAME = "v2/bilans_entreprises_bdf/%{id}" BILANS_BDF_RESOURCE_NAME = "v3/banque_de_france/unites_legales/%{id}/bilans"
PRIVILEGES_RESOURCE_NAME = "v2/privileges" PRIVILEGES_RESOURCE_NAME = "v2/privileges"
TIMEOUT = 20 TIMEOUT = 20

View file

@ -11,13 +11,17 @@ class APIEntreprise::BilansBdfAdapter < APIEntreprise::Adapter
end end
def process_params def process_params
if data_source[:bilans].present? Sentry.with_scope do |scope|
{ data = data_source[:data]
entreprise_bilans_bdf: data_source[:bilans], scope.set_tags(siret: @siret)
entreprise_bilans_bdf_monnaie: data_source[:monnaie] scope.set_extras(source: data)
}
else result = {}
{} if data
result[:entreprise_bilans_bdf] = data
result[:entreprise_bilans_bdf_monnaie] = 'euros'
end
result
end end
end end
end end

View file

@ -1,51 +1,75 @@
{ {
"monnaie": "kEuros", "data": [
"bilans": [
{ {
"duree_exercice": "12", "data": {
"valeur_ajoutee_bdf": "7848792", "annee": "2020",
"resultat_exercice": "347126", "date_arrete_exercice": "202012",
"capitaux_propres_et_assimiles": "5928663", "valeurs_calculees": [
"total_provisions_pour_risques_et_charges": "1957919", {
"dettes1_emprunts_obligataires_et_convertibles": "0", "disponibilites": {
"dettes2_autres_emprunts_obligataires": "6552306", "valeur": "9001",
"total_dettes_stables": "6552306", "evolution": 12.34
"emprunts_et_dettes_financieres_divers": "430634", },
"groupes_et_associes": "0", "total_dettes_stables": {
"besoin_en_fonds_de_roulement": "-721507", "valeur": "9001",
"disponibilites": "1983051", "evolution": 12.34
"total_passif": "18478051", },
"evolution_valeur_ajoutee_bdf": "", "valeur_ajoutee_bdf": {
"evolution_resultat_exercice": "", "valeur": "9001",
"evolution_capitaux_propres_et_assimiles": "", "evolution": 12.34
"evolution_total_provisions_pour_risques_et_charges": "", },
"evolution_dettes1_emprunts_obligataires_et_convertibles": "", "besoin_en_fonds_de_roulement": {
"evolution_dettes2_autres_emprunts_obligataires": "", "valeur": "9001",
"evolution_emprunts_et_dettes_financieres_divers": "", "evolution": 12.34
"evolution_groupes_et_associes": "", },
"evolution_besoin_en_fonds_de_roulement": "", "excedent_brut_exploitation": {
"evolution_disponibilites": "", "valeur": "9001",
"evolution_total_passif": "", "evolution": 12.34
"chiffre_affaires_ht": "12030700", },
"capacite_autofinancement": "891914", "capacite_autofinancement": {
"date_arret_exercice": "201512", "valeur": "9001",
"dettes3_emprunts_et_dettes_aupres_des_etablissements_de_credit": "0", "evolution": 12.34
"dettes4_maturite_a_un_an_au_plus": "0", },
"autres_fonds_propres": "0", "fonds_roulement_net_global": {
"capital_social_inclus_dans_capitaux_propres_et_assimiles": "3800000", "valeur": "9001",
"excedent_brut_exploitation": "-1876863", "evolution": 12.34
"evolution_chiffre_affaires_ht": "", },
"evolution_capacite_autofinancement": "", "ratio_fonds_roulement_net_global_sur_besoin_en_fonds_de_roulement": {
"evolution_dettes3_emprunts_et_dettes_aupres_des_etablissements_de_credit": "", "valeur": 23.45,
"evolution_dettes4_maturite_a_un_an_au_plus": "", "evolution": 12.34
"evolution_autres_fonds_propres": "", },
"evolution_capital_social_inclus_dans_capitaux_propres_et_assimiles": "", "dettes4_maturite_a_un_an_au_plus": {
"evolution_excedent_brut_exploitation": "", "valeur": "9001",
"evolution_fonds_roulement_net_global": "", "evolution": 12.34
"evolution_ratio_fonds_roulement_net_global_sur_besoin_en_fonds_de_roulement": "", }
"evolution_total_dettes_stables": "", }
"fonds_roulement_net_global": "2464585", ],
"ratio_fonds_roulement_net_global_sur_besoin_en_fonds_de_roulement": "-" "declarations": [
}, "bilan 2", "bilan 3" {
"numero_imprime": "2051",
"donnees": [
{
"code": "GR",
"code_EDI": "GR:C889:7111:1:TBX",
"evolution": 4.56,
"code_absolu": "2006744",
"code_type_donnee": "CCI",
"intitule": "Déposé néant",
"code_nref": "304651",
"valeurs": [
"dummy"
] ]
} }
]
}
]
},
"links": {},
"meta": {}
}
],
"meta": {
"count": 1
},
"links": {}
}

View file

@ -6,10 +6,10 @@ RSpec.describe APIEntreprise::BilansBdfJob, type: :job do
let(:procedure_id) { procedure.id } let(:procedure_id) { procedure.id }
let(:body) { File.read('spec/fixtures/files/api_entreprise/bilans_entreprise_bdf.json') } let(:body) { File.read('spec/fixtures/files/api_entreprise/bilans_entreprise_bdf.json') }
let(:status) { 200 } let(:status) { 200 }
let(:bilans_bdf) { JSON.parse(body)["bilans"] } let(:bilans_bdf) { JSON.parse(body)["data"] }
before do before do
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v2\/bilans_entreprises_bdf\/#{siren}/) stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v3\/banque_de_france\/unites_legales\/#{siren}\/bilans/)
.to_return(body: body, status: status) .to_return(body: body, status: status)
allow_any_instance_of(APIEntrepriseToken).to receive(:roles).and_return(["bilans_entreprise_bdf"]) allow_any_instance_of(APIEntrepriseToken).to receive(:roles).and_return(["bilans_entreprise_bdf"])
allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false) allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false)

View file

@ -7,7 +7,7 @@ describe APIEntreprise::BilansBdfAdapter do
subject { adapter.to_params } subject { adapter.to_params }
before do before do
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v2\/bilans_entreprises_bdf\/#{siren}/) stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v3\/banque_de_france\/unites_legales\/#{siren}\/bilans/)
.to_return(body: body, status: status) .to_return(body: body, status: status)
allow_any_instance_of(APIEntrepriseToken).to receive(:roles).and_return(["bilans_entreprise_bdf"]) allow_any_instance_of(APIEntrepriseToken).to receive(:roles).and_return(["bilans_entreprise_bdf"])
allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false) allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false)
@ -22,7 +22,7 @@ describe APIEntreprise::BilansBdfAdapter do
end end
it "returns bilans bdf" do it "returns bilans bdf" do
expect(subject[:entreprise_bilans_bdf][0][:valeur_ajoutee_bdf]).to eq("7848792") expect(subject[:entreprise_bilans_bdf][0][:data][:valeurs_calculees][0][:excedent_brut_exploitation][:valeur]).to eq "9001"
end end
end end
end end