# Deployment packages

longString = ' very very very very very very very very very very very very very very very very very very very very very very very very very very very very very long string'

repository.create(factory.configurationItem('Applications/AppForUpdateScenario', 'udm.Application'))
repository.create(factory.configurationItem('Applications/AppForHistory', 'udm.Application'))
repository.create(factory.configurationItem('Applications/AppWithArtifacts', 'udm.Application'))
repository.create(factory.configurationItem('Applications/AppWithEmbeddedDeployeds', 'udm.Application'))
repository.create(factory.configurationItem('Applications/CommandsFromDictionaryApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/CompositeApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/DependentTestApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/EmptyTestApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/ExampleApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/LongRunningApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/MultiCommandApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/MyPackage', 'udm.Application'))
repository.create(factory.configurationItem('Applications/WithoutPipeline', 'udm.Application'))
repository.create(factory.configurationItem('Applications/TestApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/SatelliteApp', 'udm.Application'))
repository.create(factory.configurationItem('Applications/TestAppWithInvalidDeployed', 'udm.Application'))
repository.create(factory.configurationItem("Applications/ZApp%s" % longString, 'udm.Application'))
repository.create(factory.configurationItem("Applications/Long\"Script\"App", 'udm.Application'))
repository.create(factory.configurationItem("Applications/CiWith%1", 'udm.Application'))
repository.create(factory.configurationItem("Applications/CiWith%%12", 'udm.Application'))
repository.create(factory.configurationItem("Applications/ToSchedule", 'udm.Application'))
repository.create(factory.configurationItem("Applications/BlankApp", 'udm.Application'))
repository.create(factory.configurationItem("Applications/XLApplication", 'xl.Application'))
repository.create(factory.configurationItem('Applications/AppForSameHostScenario', 'udm.Application'))

repository.create(factory.configurationItem('Applications/AppForUpdateScenario/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/AppForUpdateScenario/2.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/AppForUpdateScenario/3.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/AppForHistory/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/AppForHistory/2.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/AppForHistory/3.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/AppWithArtifacts/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/AppWithEmbeddedDeployeds/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/DependentTestApp/1.0', 'udm.DeploymentPackage',
                                            {'applicationDependencies': {'TestApp': '1.0'}}))
repository.create(factory.configurationItem('Applications/EmptyTestApp/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/ExampleApp/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/ExampleApp/2.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/LongRunningApp/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/MultiCommandApp/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/MyPackage/1.0', 'test-ci.MyPackage'))
repository.create(factory.configurationItem('Applications/WithoutPipeline/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/TestApp/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/TestAppWithInvalidDeployed/1.0', 'xl.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/CommandsFromDictionaryApp/1.0', 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/ZApp%s/1.0" % longString, 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/Long\"Script\"App/1.0", 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/CiWith%1/1.0", 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/CiWith%%12/1.0", 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/ToSchedule/1.0", 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/XLApplication/1.0", 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/XLApplication/2.0", 'udm.DeploymentPackage'))
repository.create(factory.configurationItem("Applications/XLApplication/3.0", 'udm.DeploymentPackage'))
repository.create(factory.configurationItem('Applications/CompositeApp/1.0', 'udm.CompositePackage', {
    'packages': ['Applications/LongRunningApp/1.0', 'Applications/TestApp/1.0']}))
repository.create(factory.configurationItem("Applications/AppForSameHostScenario/1.0", 'udm.DeploymentPackage'))

for i in range(1, 100):
    appId = 'Applications/SatelliteApp/' + str(i) + '.0'
    repository.create(factory.configurationItem(appId, 'udm.DeploymentPackage'))
    repository.create(factory.configurationItem(appId + '/cmd', 'cmd.Command', {'commandLine': 'sleep 1'}))

repository.create(factory.configurationItem('Applications/TestApp/1.0/Command', 'cmd.Command',
                                            {'commandLine': 'date', 'undoCommandLine': 'sleep 3'}))
repository.create(
    factory.configurationItem('Applications/DependentTestApp/1.0/SomeCommand', 'cmd.Command', {'commandLine': 'date'}))
repository.create(factory.configurationItem('Applications/TestAppWithInvalidDeployed/1.0/InvalidCommand', 'cmd.Command',
                                            {'name': 'Command', 'undoCommandLine': 'sleep 3'}))
repository.create(
    factory.configurationItem('Applications/TestAppWithInvalidDeployed/1.0/commandWithPlaceholder', 'cmd.Command',
                              {'name': 'Command', 'undoCommandLine': '{{PLACE_HOLDER}}'}))
repository.create(factory.configurationItem('Applications/XLApplication/1.0/CommandForApplication', 'cmd.Command',
                                            {'commandLine': 'date', 'undoCommandLine': 'sleep 3'}))
repository.create(factory.configurationItem('Applications/XLApplication/2.0/CommandForApplication', 'cmd.Command',
                                            {'commandLine': 'date', 'undoCommandLine': 'sleep 3'}))
repository.create(factory.configurationItem('Applications/XLApplication/3.0/CommandForApplication', 'cmd.Command',
                                            {'commandLine': 'date', 'undoCommandLine': 'sleep 3'}))

for x in range(1, 5):
    repository.create(factory.configurationItem("Applications/LongRunningApp/1.0/SleepCommand%d" % x, 'cmd.Command',
                                                {'commandLine': 'sleep 3'}))
    repository.create(factory.configurationItem("Applications/CommandsFromDictionaryApp/1.0/cmd%d" % x, 'cmd.Command',
                                                {'commandLine': '{{cmd}}'}))

for x in range(1, 15):
    repository.create(factory.configurationItem("Applications/MultiCommandApp/1.0/cmd%d" % x, 'cmd.Command',
                                                {'commandLine': 'sleep 1'}))

repository.create(factory.configurationItem('Applications/AppWithArtifacts/1.0/google', 'file.File',
                                            {'fileUri': 'http://google.com'}))
repository.create(
    factory.configurationItem('Applications/AppWithEmbeddedDeployeds/1.0/Primary', 'example.ExamplePrimary'))
repository.create(factory.configurationItem('Applications/AppWithEmbeddedDeployeds/1.0/Primary/Embedded',
                                            'example.PrimaryEmbeddedDeployed'))
repository.create(factory.configurationItem('Applications/AppWithEmbeddedDeployeds/1.0/Primary/Embedded/Secondary',
                                            'example.EmbeddedVolumeSpec'))
repository.create(factory.configurationItem('Applications/ExampleApp/1.0/google', 'example.Artifact',
                                            {'fileUri': 'http://google.com'}))
repository.create(
    factory.configurationItem('Applications/Long\"Script\"App/1.0/LongScript', 'example.LongScriptDeployable'))

repository.create(factory.configurationItem('Applications/AppForUpdateScenario/1.0/SleepCommand1', 'cmd.Command',
                                            {'commandLine': 'sleep 10'}))
repository.create(factory.configurationItem('Applications/AppForUpdateScenario/2.0/SleepCommand2', 'cmd.Command',
                                            {'commandLine': 'sleep 3'}))
repository.create(factory.configurationItem('Applications/AppForUpdateScenario/3.0/SleepCommand3', 'cmd.Command',
                                            {'commandLine': 'sleep 5'}))
repository.create(factory.configurationItem('Applications/AppForUpdateScenario/3.0/SleepCommand3_1', 'cmd.Command',
                                            {'commandLine': 'sleep 5'}))
for x in range(1, 5):
    repository.create(
        factory.configurationItem("Applications/ZApp%s/1.0/Cmd%d %s" % (longString, x, longString), 'cmd.Command',
                                  {'commandLine': 'ls'}))

repository.create(factory.configurationItem('Applications/ToDeploy', 'core.Directory'))

for x in range(1, 10):
    repository.create(factory.configurationItem("Applications/ToDeploy/AppToDeploy%s" % x, 'udm.Application'))
    repository.create(
        factory.configurationItem("Applications/ToDeploy/AppToDeploy%s/1.0" % x, 'udm.DeploymentPackage'))
    repository.create(
        factory.configurationItem("Applications/ToDeploy/AppToDeploy%s/1.0/myCommand-%s" % (x, x), 'cmd.Command',
                                  {'commandLine': 'sleep 1'}))


repository.create(factory.configurationItem("Applications/AppForSandbox", 'udm.Application'))
repository.create(
    factory.configurationItem("Applications/AppForSandbox/1.0", 'udm.DeploymentPackage'))
repository.create(
    factory.configurationItem("Applications/AppForSandbox/1.0/staging-cmd", 'cmd.Command',
                              {'commandLine': 'sleep 1'}))
