final sitemap I think
This commit is contained in:
parent
8744fb6acf
commit
59c1ec058c
9 changed files with 109863 additions and 26 deletions
|
@ -25,7 +25,7 @@ SITEMAP_ALLOWED_HOST="https://api.example.com"
|
|||
|
||||
## THESE VARIABLES ARE FOR SIMPLE-PAYMENT-GATEWAY APP
|
||||
#To see all possible options, check simple-payment-gateway/src/app:GatewayTypes
|
||||
ACTIVE_GATEWAYS="cod,cash,transfer"
|
||||
ACTIVE_PAYMENT_METHODS="cod,cash,transfer"
|
||||
# only Sk,En available :). Determines what language the gateway names will be in storefront
|
||||
LOCALE="Sk"
|
||||
# uses https://crates.io/crates/iso_currency
|
||||
|
|
3
Cargo.lock
generated
3
Cargo.lock
generated
|
@ -3377,7 +3377,7 @@ checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
|
|||
|
||||
[[package]]
|
||||
name = "saleor-app-sdk"
|
||||
version = "0.2.3"
|
||||
version = "0.2.4"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
@ -3885,7 +3885,6 @@ dependencies = [
|
|||
"thiserror",
|
||||
"tinytemplate",
|
||||
"tokio",
|
||||
"toml",
|
||||
"tower",
|
||||
"tower-http",
|
||||
"tracing",
|
||||
|
|
|
@ -31,8 +31,8 @@ dependencies = [
|
|||
[tasks.push-containers]
|
||||
workspace = false
|
||||
script = '''
|
||||
docker push ghcr.io/djkato/saleor-sitemap-generator:latest
|
||||
docker push ghcr.io/djkato/saleor-simple-payment-gateway:latest
|
||||
docker push ghcr.io/djkato/saleor-app-sitemap-generator:latest
|
||||
docker push ghcr.io/djkato/saleor-app-simple-payment-gateway:latest
|
||||
'''
|
||||
|
||||
[tasks.delete-images]
|
||||
|
|
1
sitemap-generator/db.cbor
Normal file
1
sitemap-generator/db.cbor
Normal file
File diff suppressed because one or more lines are too long
109799
sitemap-generator/db.json
Normal file
109799
sitemap-generator/db.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -4,7 +4,6 @@ use std::{
|
|||
fs::{self},
|
||||
io::ErrorKind,
|
||||
};
|
||||
use tinytemplate::TinyTemplate;
|
||||
|
||||
use crate::{
|
||||
app::{AppState, SitemapConfig},
|
||||
|
@ -316,12 +315,8 @@ async fn update_or_create<T: Serialize + Clone>(
|
|||
for affected in affected_urls.iter_mut() {
|
||||
match affected {
|
||||
AffectedType::Data(url) => {
|
||||
match Url::new(
|
||||
data.clone(),
|
||||
&sitemap_config,
|
||||
item.clone(),
|
||||
rel_item.clone(),
|
||||
) {
|
||||
match Url::new(data.clone(), sitemap_config, item.clone(), rel_item.clone())
|
||||
{
|
||||
Ok(new_url) => {
|
||||
url.url = new_url.url;
|
||||
url.data = new_url.data;
|
||||
|
@ -338,7 +333,7 @@ async fn update_or_create<T: Serialize + Clone>(
|
|||
let new_data: ProductCreated = url.clone().into();
|
||||
match Url::new(
|
||||
new_data,
|
||||
&sitemap_config,
|
||||
sitemap_config,
|
||||
url.clone().data,
|
||||
Some(item.clone()),
|
||||
) {
|
||||
|
@ -354,7 +349,7 @@ async fn update_or_create<T: Serialize + Clone>(
|
|||
let new_data: CollectionCreated = url.clone().into();
|
||||
match Url::new(
|
||||
new_data,
|
||||
&sitemap_config,
|
||||
sitemap_config,
|
||||
url.clone().data,
|
||||
Some(item.clone()),
|
||||
) {
|
||||
|
@ -370,7 +365,7 @@ async fn update_or_create<T: Serialize + Clone>(
|
|||
let new_data: PageCreated = url.clone().into();
|
||||
match Url::new(
|
||||
new_data,
|
||||
&sitemap_config,
|
||||
sitemap_config,
|
||||
url.clone().data,
|
||||
Some(item.clone()),
|
||||
) {
|
||||
|
@ -386,7 +381,7 @@ async fn update_or_create<T: Serialize + Clone>(
|
|||
let new_data: CollectionCreated = url.clone().into();
|
||||
match Url::new(
|
||||
new_data,
|
||||
&sitemap_config,
|
||||
sitemap_config,
|
||||
url.clone().data,
|
||||
Some(item.clone()),
|
||||
) {
|
||||
|
|
|
@ -155,7 +155,11 @@ pub async fn regenerate(state: AppState, saleor_api_url: String) -> anyhow::Resu
|
|||
slug: p.slug.clone(),
|
||||
typ: ItemType::Product,
|
||||
},
|
||||
None,
|
||||
p.category.clone().map(|c| ItemData {
|
||||
id: c.id.inner().to_owned(),
|
||||
slug: c.slug,
|
||||
typ: ItemType::Category,
|
||||
}),
|
||||
) {
|
||||
Ok(u) => Some(u),
|
||||
Err(e) => {
|
||||
|
|
|
@ -4,8 +4,7 @@ use std::time::Duration;
|
|||
|
||||
use crate::{
|
||||
create_app,
|
||||
queries::event_subjects_updated::{Category, Product, ProductUpdated},
|
||||
sitemap::{ItemType, Url, UrlSet},
|
||||
sitemap::{ItemType, UrlSet},
|
||||
};
|
||||
use async_std::task::sleep;
|
||||
use axum::{
|
||||
|
@ -61,11 +60,12 @@ pub async fn app_runs_and_responses() {
|
|||
#[tokio::test]
|
||||
#[traced_test]
|
||||
#[serial]
|
||||
//TODO: This test is busted or smt
|
||||
async fn update_event_updates_correctly() {
|
||||
let mut app = init_test_app().await;
|
||||
let (_, sitemap_config) = testing_configs();
|
||||
|
||||
let mut evn = gen_random_url_set(50, &sitemap_config);
|
||||
let mut evn = gen_random_url_set(500, &sitemap_config);
|
||||
for (body, _, webhook_type) in evn.clone() {
|
||||
app = create_query(app, body, webhook_type).await;
|
||||
}
|
||||
|
@ -272,7 +272,22 @@ fn urlset_serialisation_isnt_lossy() {
|
|||
let deserialized_url_set: UrlSet = serde_cbor::de::from_slice(&file_str).unwrap();
|
||||
assert_eq!(url_set, deserialized_url_set);
|
||||
}
|
||||
//TODO: TEST UPDATES AND DELETES, UPDATING URL CREATES A NEW ENTRY INSTEAD OF EDITING PREVIOUS ONE
|
||||
|
||||
// #[rstest]
|
||||
// #[traced_test]
|
||||
// #[parallel]
|
||||
// fn desereialize_cbor() {
|
||||
// std::fs::write(
|
||||
// "db.json",
|
||||
// serde_json::to_string_pretty(
|
||||
// &serde_cbor::de::from_slice::<UrlSet>(&std::fs::read("db.cbor").unwrap()).unwrap(),
|
||||
// )
|
||||
// .unwrap(),
|
||||
// )
|
||||
// .unwrap();
|
||||
//
|
||||
// // assert_eq!(url_set, deserialized_url_set);
|
||||
// }
|
||||
|
||||
// #[rstest]
|
||||
// #[traced_test]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use axum::{
|
||||
body::Body,
|
||||
http::{Request, Response, StatusCode},
|
||||
http::{Request, StatusCode},
|
||||
routing::RouterIntoService,
|
||||
};
|
||||
use rand::{
|
||||
|
@ -261,11 +261,35 @@ pub fn gen_random_url_set(
|
|||
) -> Vec<(String, Url, EitherWebhookType)> {
|
||||
let mut res: Vec<(String, Url, EitherWebhookType)> = vec![];
|
||||
for _ in 0..len {
|
||||
let slug = random_word::gen(random_word::Lang::En).to_owned();
|
||||
let id = cynic::Id::new(slug.to_owned() + "_ID");
|
||||
let slug = random_word::gen(random_word::Lang::En).to_owned()
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En);
|
||||
let id = cynic::Id::new("ID_".to_owned() + &slug.clone());
|
||||
|
||||
let mut rel_slug = random_word::gen(random_word::Lang::En).to_owned();
|
||||
let mut rel_id = cynic::Id::new(rel_slug.to_owned() + "_ID");
|
||||
let mut rel_slug = random_word::gen(random_word::Lang::En).to_owned()
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En)
|
||||
+ "_"
|
||||
+ random_word::gen(random_word::Lang::En);
|
||||
let mut rel_id = cynic::Id::new("ID_".to_owned() + &rel_slug.clone());
|
||||
|
||||
match rand::random::<ItemType>() {
|
||||
ItemType::Product => {
|
||||
|
|
Loading…
Reference in a new issue