Merge pull request #9084 from demarches-simplifiees/8472-migration-attestation-sociale

8472 migration attestation sociale
This commit is contained in:
krichtof 2023-05-25 07:11:59 +00:00 committed by GitHub
commit 601fde2147
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 36 additions and 22 deletions

View file

@ -1,14 +1,14 @@
class APIEntreprise::API
ENTREPRISE_RESOURCE_NAME = "entreprises"
ETABLISSEMENT_RESOURCE_NAME = "etablissements"
EXERCICES_RESOURCE_NAME = "exercices"
RNA_RESOURCE_NAME = "associations"
EFFECTIFS_RESOURCE_NAME = "effectifs_mensuels_acoss_covid"
EFFECTIFS_ANNUELS_RESOURCE_NAME = "effectifs_annuels_acoss_covid"
ATTESTATION_SOCIALE_RESOURCE_NAME = "attestations_sociales_acoss"
ATTESTATION_FISCALE_RESOURCE_NAME = "attestations_fiscales_dgfip"
BILANS_BDF_RESOURCE_NAME = "bilans_entreprises_bdf"
PRIVILEGES_RESOURCE_NAME = "privileges"
ENTREPRISE_RESOURCE_NAME = "v2/entreprises/%{id}"
ETABLISSEMENT_RESOURCE_NAME = "v2/etablissements/%{id}"
EXERCICES_RESOURCE_NAME = "v2/exercices/%{id}"
RNA_RESOURCE_NAME = "v2/associations/%{id}"
EFFECTIFS_RESOURCE_NAME = "v2/effectifs_mensuels_acoss_covid"
EFFECTIFS_ANNUELS_RESOURCE_NAME = "v2/effectifs_annuels_acoss_covid/%{id}"
ATTESTATION_SOCIALE_RESOURCE_NAME = "v4/urssaf/unites_legales/%{id}/attestation_vigilance"
ATTESTATION_FISCALE_RESOURCE_NAME = "v2/attestations_fiscales_dgfip/%{id}"
BILANS_BDF_RESOURCE_NAME = "v2/bilans_entreprises_bdf/%{id}"
PRIVILEGES_RESOURCE_NAME = "v2/privileges"
TIMEOUT = 20
DEFAULT_API_ENTREPRISE_DELAY = 0.0
@ -41,7 +41,7 @@ class APIEntreprise::API
end
def effectifs(siren, annee, mois)
endpoint = [EFFECTIFS_RESOURCE_NAME, annee, mois, "entreprise"].join('/')
endpoint = [EFFECTIFS_RESOURCE_NAME, annee, mois, "entreprise", "%{id}"].join('/')
call_with_siret(endpoint, siren)
end
@ -127,7 +127,7 @@ class APIEntreprise::API
end
def make_url(resource_name, siret_or_siren = nil)
[API_ENTREPRISE_URL, resource_name, siret_or_siren].compact.join("/")
[API_ENTREPRISE_URL, format(resource_name, id: siret_or_siren)].compact.join("/")
end
def build_params(user_id)

View file

@ -11,9 +11,9 @@ class APIEntreprise::AttestationSocialeAdapter < APIEntreprise::Adapter
end
def process_params
if data_source[:url].present?
if data_source[:data] && data_source[:data][:document_url].present?
{
entreprise_attestation_sociale_url: data_source[:url]
entreprise_attestation_sociale_url: data_source[:data][:document_url]
}
else
{}

View file

@ -1,7 +1,7 @@
# rubocop:disable DS/ApplicationName
# API URLs
API_ADRESSE_URL = ENV.fetch("API_ADRESSE_URL", "https://api-adresse.data.gouv.fr")
API_ENTREPRISE_URL = ENV.fetch("API_ENTREPRISE_URL", "https://entreprise.api.gouv.fr/v2")
API_ENTREPRISE_URL = ENV.fetch("API_ENTREPRISE_URL", "https://entreprise.api.gouv.fr")
API_EDUCATION_URL = ENV.fetch("API_EDUCATION_URL", "https://data.education.gouv.fr/api/records/1.0")
API_GEO_URL = ENV.fetch("API_GEO_URL", "https://geo.api.gouv.fr")
API_PARTICULIER_URL = ENV.fetch("API_PARTICULIER_URL", "https://particulier.api.gouv.fr/api")

View file

@ -1,4 +1,18 @@
{
"url":
"https://storage.entreprise.api.gouv.fr/siade/1569156881-f749d75e2bfd443316e2e02d59015f-attestation_vigilance_acoss.pdf"
"data": {
"entity_status": {
"code": "ok",
"libelle": "Attestation délivrée par l'Urssaf",
"description": "La délivrance de l'attestation de vigilance a été refusée par l'Urssaf car l'entité n'est pas à jour de ses cotisations sociales."
},
"date_debut_validite": "ipsum",
"date_fin_validite": "ipsum",
"code_securite": "GB1QWERTYJJEX1O",
"document_url": "https://storage.entreprise.api.gouv.fr/siade/1569139162-b99824d9c764aae19a862a0af-attestation_vigilance_acoss.pdf",
"document_url_expires_in": 86400
},
"links": {
},
"meta": {
}
}

View file

@ -9,9 +9,9 @@ RSpec.describe APIEntreprise::AttestationSocialeJob, type: :job do
let(:status) { 200 }
before do
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v2\/attestations_sociales_acoss\/#{siren}/)
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v4\/urssaf\/unites_legales\/#{siren}\/attestation_vigilance/)
.to_return(body: body, status: status)
stub_request(:get, "https://storage.entreprise.api.gouv.fr/siade/1569156881-f749d75e2bfd443316e2e02d59015f-attestation_vigilance_acoss.pdf")
stub_request(:get, "https://storage.entreprise.api.gouv.fr/siade/1569139162-b99824d9c764aae19a862a0af-attestation_vigilance_acoss.pdf")
.to_return(body: "body attestation", status: 200)
allow_any_instance_of(APIEntrepriseToken).to receive(:roles).and_return(["attestations_sociales"])
allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false)

View file

@ -182,7 +182,7 @@ describe APIEntreprise::API do
before do
allow_any_instance_of(APIEntrepriseToken).to receive(:roles).and_return(roles)
allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false)
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v2\/attestations_sociales_acoss\/#{siren}/)
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v4\/urssaf\/unites_legales\/#{siren}\/attestation_vigilance/)
.to_return(body: body, status: status)
end

View file

@ -6,7 +6,7 @@ describe APIEntreprise::AttestationSocialeAdapter do
subject { adapter.to_params }
before do
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v2\/attestations_sociales_acoss\/#{siren}/)
stub_request(:get, /https:\/\/entreprise.api.gouv.fr\/v4\/urssaf\/unites_legales\/#{siren}\/attestation_vigilance/)
.to_return(body: body, status: status)
allow_any_instance_of(APIEntrepriseToken).to receive(:roles).and_return(["attestations_sociales"])
allow_any_instance_of(APIEntrepriseToken).to receive(:expired?).and_return(false)
@ -21,7 +21,7 @@ describe APIEntreprise::AttestationSocialeAdapter do
end
it "renvoie l'url de l'attestation sociale" do
expect(subject[:entreprise_attestation_sociale_url]).to eq("https://storage.entreprise.api.gouv.fr/siade/1569156881-f749d75e2bfd443316e2e02d59015f-attestation_vigilance_acoss.pdf")
expect(subject[:entreprise_attestation_sociale_url]).to eq("https://storage.entreprise.api.gouv.fr/siade/1569139162-b99824d9c764aae19a862a0af-attestation_vigilance_acoss.pdf")
end
end
end