Skip to content

Instantly share code, notes, and snippets.

View ghenzler's full-sized avatar
🚀
Launching...

Georg Henzler ghenzler

🚀
Launching...
View GitHub Profile
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Copyright 2021 Adobe
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
//-------------------------------------
// *** Max Nodes for Session Save
//-------------------------------------
// Breaklet Config
//-------------------------------------
def breakForDurationInSec = 60
def basePath = "/content/nodetest"
def nodesToSavePerCommitMultiplier = 1000
def primaryType = "nt:unstructured"
import org.apache.sling.hc.api.HealthCheck
//-------------------------------------
// Hostile Health Check
//-------------------------------------
// !!! Be careful, this creates a long-running health check blocking one
// thread of the HC thread pool. Unregister the hostile health check by
// creating a file "hc-unregister" in the current working dir (usually the
// dir next to crx-quickstart folder) and running the HC one more time
@ghenzler
ghenzler / breaklet-deep-group-hierarchies.groovy
Created September 9, 2018 16:24
Increases continuously the group levels from user to ACE
//-------------------------------------
// *** Deep Group Hierarchies
//-------------------------------------
// Breaklet Config
//-------------------------------------
def breakForDurationInSec = 60
def componentsOnTestPage = 50
def groupHierarchiesPerIteration = 10
@ghenzler
ghenzler / breaklet-max-sling-inheritance-levels.groovy
Created September 9, 2018 16:21
Checks how many script inheritance levels are possible
//-------------------------------------
// *** Max Inheritance Levels
//-------------------------------------
// Breaklet Config
//-------------------------------------
def breakForDurationInSec = 80
def componentsOnTestPage = 50
def inheritanceLevelsPerIteration = 10
@ghenzler
ghenzler / breaklet-max-childnodes-wait-for-events.groovy
Created September 9, 2018 16:16
Creates many child nodes and waits for events
//-------------------------------------
// *** Max Child Nodes (Wait for Events)
//-------------------------------------
// Breaklet Config
//-------------------------------------
def breakForDurationInSec = 60
def basePath = "/content/nodetest"
def nodesToCreatePerIteration = 1000
def primaryType = "nt:unstructured" // "oak:Unstructured" => not orderable, "nt:unstructured" => orderable
@ghenzler
ghenzler / breaklet-max-childnodes-with-composum-and-CRXDE.groovy
Created September 9, 2018 16:13
iteratively creates child nodes under same parent and displays them with chrome headless in CRXDE and Composium
//-------------------------------------
// *** Max Child Nodes
//. UI Test (CRXDE and Composum)
//-------------------------------------
// Breaklet Config
//-------------------------------------
def breakForDurationInSec = 120
def basePath = "/content/nodetest"
def nodesToCreatePerIteration = 1000
//-------------------------------------
// *** Max Components On Page
//-------------------------------------
// Breaklet Config
//-------------------------------------
def breakForDurationInSec = 300
def pathToEdit = "/content/we-retail/language-masters/en/about-us"
def componentToAdd = "weretail/components/content/text"
def compsPerIteration = 50
//-------------------------------------
// *** Deep Group Hierarchies
// *** with functionality fragments
//-------------------------------------
// Breaklet Config
//-------------------------------------
def breakForDurationInSec = 60
def componentsOnTestPage = 10
def funcFragmentsPerIteration = 5

Breaklets

The Idea

Breaklets are a way to check limits of a platform/aspect/tool. Breaklets

  • ... iteratively make things worse
  • ... run until either
    • a threshold is reached