├── .github └── workflows │ ├── create-release.yml │ └── resources │ └── releaseBody.md ├── .gitignore ├── LICENCE.txt ├── README.md ├── THIRD_PARTY_LICENCES.md ├── docker-compose.yml ├── etc ├── docker │ ├── README.md │ ├── build │ │ ├── Dockerfile-srv │ │ └── Dockerfile-ui │ ├── gitb-mysql │ │ ├── Dockerfile │ │ ├── gitb-entrypoint.sh │ │ └── gitb.cnf │ ├── gitb-redis │ │ └── Dockerfile │ ├── gitb-srv │ │ └── Dockerfile │ └── gitb-ui │ │ ├── Dockerfile │ │ └── gitb-entrypoint.sh ├── k8s │ ├── helm │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── templates │ │ │ ├── NOTES.txt │ │ │ ├── _helpers.tpl │ │ │ ├── db-pvc.yaml │ │ │ ├── ingress.yaml │ │ │ ├── mysql-deployment.yaml │ │ │ ├── mysql-service.yaml │ │ │ ├── redis-deployment.yaml │ │ │ ├── redis-service.yaml │ │ │ ├── repo-pvc.yaml │ │ │ ├── srv-deployment.yaml │ │ │ ├── srv-service.yaml │ │ │ ├── ui-deployment.yaml │ │ │ └── ui-service.yaml │ │ └── values.yaml │ └── manifests │ │ ├── 01-db-pvc.yaml │ │ ├── 02-repo-pvc.yaml │ │ ├── 03-mysql-deployment.yaml │ │ ├── 04-mysql-service.yaml │ │ ├── 05-redis-deployment.yaml │ │ ├── 06-redis-service.yaml │ │ ├── 07-srv-deployment.yaml │ │ ├── 08-srv-service.yaml │ │ ├── 09-ui-deployment.yaml │ │ ├── 10-ui-service.yaml │ │ ├── 11-ingress.yaml │ │ └── README.md └── owasp-suppressions.xml ├── gitb-core ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── gitb │ │ ├── CoreConfiguration.java │ │ ├── InputHolder.java │ │ ├── StepHandler.java │ │ ├── exceptions │ │ ├── GITBEngineInternalError.java │ │ └── GITBEngineRuntimeException.java │ │ ├── messaging │ │ ├── DeferredMessagingReport.java │ │ ├── IMessagingHandler.java │ │ ├── Message.java │ │ ├── MessagingReport.java │ │ └── callback │ │ │ ├── CallbackData.java │ │ │ ├── CallbackType.java │ │ │ └── SessionCallbackData.java │ │ ├── processing │ │ ├── DeferredProcessingReport.java │ │ ├── IProcessingHandler.java │ │ ├── ProcessingData.java │ │ └── ProcessingReport.java │ │ ├── repository │ │ └── ITestCaseRepository.java │ │ ├── types │ │ ├── BinaryType.java │ │ ├── BooleanType.java │ │ ├── ContainerType.java │ │ ├── DataType.java │ │ ├── DataTypeFactory.java │ │ ├── ListType.java │ │ ├── MapType.java │ │ ├── NumberType.java │ │ ├── ObjectType.java │ │ ├── PrimitiveType.java │ │ ├── SchemaType.java │ │ └── StringType.java │ │ ├── utils │ │ ├── BomStrippingReader.java │ │ ├── ClasspathResourceResolver.java │ │ ├── ErrorUtils.java │ │ └── XMLUtils.java │ │ └── validation │ │ └── IValidationHandler.java │ └── resources │ └── core-module.properties ├── gitb-engine ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── gitb │ │ └── engine │ │ ├── AbstractHandler.java │ │ ├── CallbackManager.java │ │ ├── ITestbedServiceCallbackHandler.java │ │ ├── ModuleManager.java │ │ ├── PropertyConstants.java │ │ ├── SessionManager.java │ │ ├── TestCaseManager.java │ │ ├── TestEngine.java │ │ ├── TestEngineConfiguration.java │ │ ├── TestbedService.java │ │ ├── actors │ │ ├── Actor.java │ │ ├── ActorSystem.java │ │ ├── SessionActor.java │ │ ├── processors │ │ │ ├── AbstractIterationStepActor.java │ │ │ ├── AbstractMessagingStepProcessorActor.java │ │ │ ├── AbstractProcessingStepProcessorActor.java │ │ │ ├── AbstractProcessorActor.java │ │ │ ├── AbstractTestStepActor.java │ │ │ ├── AssignStepProcessorActor.java │ │ │ ├── BeginProcessingTransactionStepProcessorActor.java │ │ │ ├── BeginTransactionStepProcessorActor.java │ │ │ ├── CallStepProcessorActor.java │ │ │ ├── EndProcessingTransactionStepProcessorActor.java │ │ │ ├── EndTransactionStepProcessorActor.java │ │ │ ├── ExitStepProcessorActor.java │ │ │ ├── FlowStepProcessorActor.java │ │ │ ├── ForEachStepProcessorActor.java │ │ │ ├── GroupStepProcessorActor.java │ │ │ ├── IfStepProcessorActor.java │ │ │ ├── InteractionStepProcessorActor.java │ │ │ ├── ListenStepProcessorActor.java │ │ │ ├── LogStepProcessorActor.java │ │ │ ├── ProcessStepProcessorActor.java │ │ │ ├── ReceiveStepProcessorActor.java │ │ │ ├── RepeatUntilStepProcessorActor.java │ │ │ ├── RootSequenceProcessorActor.java │ │ │ ├── SendStepProcessorActor.java │ │ │ ├── SequenceProcessorActor.java │ │ │ ├── TestCaseProcessorActor.java │ │ │ ├── VerifyStepProcessorActor.java │ │ │ └── WhileStepProcessorActor.java │ │ └── supervisors │ │ │ └── SessionSupervisor.java │ │ ├── commands │ │ ├── common │ │ │ ├── SessionCommand.java │ │ │ └── TestCaseCommand.java │ │ ├── interaction │ │ │ ├── ConfigureCommand.java │ │ │ ├── ConnectionClosedEvent.java │ │ │ ├── InitiatePreliminaryCommand.java │ │ │ ├── LogCommand.java │ │ │ ├── PrepareForStopCommand.java │ │ │ ├── RestartCommand.java │ │ │ ├── SendUpdateCommand.java │ │ │ ├── SessionCleanupCommand.java │ │ │ ├── StartCommand.java │ │ │ ├── StopCommand.java │ │ │ ├── TestSessionFinishedCommand.java │ │ │ ├── UnexpectedErrorCommand.java │ │ │ ├── UpdateMessage.java │ │ │ ├── UpdateSentEvent.java │ │ │ └── UserInputCommand.java │ │ ├── messaging │ │ │ ├── NotificationReceived.java │ │ │ └── TimeoutExpired.java │ │ └── session │ │ │ ├── CreateCommand.java │ │ │ └── DestroyCommand.java │ │ ├── events │ │ ├── TestStepInputEventBus.java │ │ ├── TestStepStatusEventBus.java │ │ └── model │ │ │ ├── ErrorStatusEvent.java │ │ │ ├── InputEvent.java │ │ │ ├── StatusEvent.java │ │ │ └── TestStepStatusEvent.java │ │ ├── expr │ │ ├── ExpressionHandler.java │ │ ├── StaticExpressionHandler.java │ │ └── resolvers │ │ │ └── VariableResolver.java │ │ ├── messaging │ │ ├── MessagingContext.java │ │ ├── MessagingHandler.java │ │ ├── TransactionContext.java │ │ └── handlers │ │ │ ├── KeyStoreFactory.java │ │ │ ├── SecurityUtils.java │ │ │ ├── ServerUtils.java │ │ │ ├── SessionManager.java │ │ │ ├── layer │ │ │ ├── AbstractDatagramListener.java │ │ │ ├── AbstractDatagramReceiver.java │ │ │ ├── AbstractDatagramSender.java │ │ │ ├── AbstractMessagingHandler.java │ │ │ ├── AbstractNonWorkerMessagingHandler.java │ │ │ ├── AbstractTransactionListener.java │ │ │ ├── AbstractTransactionReceiver.java │ │ │ ├── AbstractTransactionSender.java │ │ │ ├── application │ │ │ │ ├── dns │ │ │ │ │ ├── DNSMessagingHandler.java │ │ │ │ │ ├── DNSReceiver.java │ │ │ │ │ ├── DNSRecord.java │ │ │ │ │ ├── DNSSender.java │ │ │ │ │ └── ErrorMessages.java │ │ │ │ ├── http │ │ │ │ │ ├── HttpListener.java │ │ │ │ │ ├── HttpMessagingHandler.java │ │ │ │ │ ├── HttpMessagingHandlerV2.java │ │ │ │ │ ├── HttpReceiver.java │ │ │ │ │ ├── HttpSender.java │ │ │ │ │ ├── MultipartFormDataBodyPublisher.java │ │ │ │ │ └── proxy │ │ │ │ │ │ ├── HttpProxyMessagingHandler.java │ │ │ │ │ │ ├── HttpProxyReceiver.java │ │ │ │ │ │ └── HttpProxySender.java │ │ │ │ ├── https │ │ │ │ │ ├── HttpsListener.java │ │ │ │ │ ├── HttpsMessagingHandler.java │ │ │ │ │ ├── HttpsReceiver.java │ │ │ │ │ └── HttpsSender.java │ │ │ │ ├── simulated │ │ │ │ │ └── SimulatedMessagingHandler.java │ │ │ │ └── soap │ │ │ │ │ ├── AttachmentInfo.java │ │ │ │ │ ├── SoapListener.java │ │ │ │ │ ├── SoapMessagingHandler.java │ │ │ │ │ ├── SoapMessagingHandlerV2.java │ │ │ │ │ ├── SoapReceiver.java │ │ │ │ │ ├── SoapReceiverCore.java │ │ │ │ │ ├── SoapReceiverHTTPS.java │ │ │ │ │ ├── SoapSender.java │ │ │ │ │ ├── SoapSenderCore.java │ │ │ │ │ ├── SoapSenderHTTPS.java │ │ │ │ │ └── SoapVersion.java │ │ │ └── transport │ │ │ │ ├── tcp │ │ │ │ ├── TCPListener.java │ │ │ │ ├── TCPMessagingHandler.java │ │ │ │ ├── TCPReceiver.java │ │ │ │ └── TCPSender.java │ │ │ │ └── udp │ │ │ │ ├── UDPListener.java │ │ │ │ ├── UDPMessagingHandler.java │ │ │ │ ├── UDPReceiver.java │ │ │ │ └── UDPSender.java │ │ │ ├── model │ │ │ ├── IListener.java │ │ │ ├── IReceiver.java │ │ │ ├── ISender.java │ │ │ ├── SessionContext.java │ │ │ ├── TransactionContext.java │ │ │ ├── tcp │ │ │ │ ├── ITransactionListener.java │ │ │ │ ├── ITransactionReceiver.java │ │ │ │ └── ITransactionSender.java │ │ │ └── udp │ │ │ │ ├── IDatagramListener.java │ │ │ │ ├── IDatagramReceiver.java │ │ │ │ └── IDatagramSender.java │ │ │ ├── server │ │ │ ├── AbstractMessagingServerWorker.java │ │ │ ├── Configuration.java │ │ │ ├── IMessagingServer.java │ │ │ ├── IMessagingServerWorker.java │ │ │ ├── NetworkingSessionManager.java │ │ │ ├── dns │ │ │ │ └── DNSMessagingServer.java │ │ │ ├── exceptions │ │ │ │ └── ExistingSessionException.java │ │ │ ├── tcp │ │ │ │ ├── TCPMessagingServer.java │ │ │ │ └── TCPMessagingServerWorker.java │ │ │ └── udp │ │ │ │ ├── UDPMessagingServer.java │ │ │ │ └── UDPMessagingServerWorker.java │ │ │ └── utils │ │ │ └── MessagingHandlerUtils.java │ │ ├── processing │ │ ├── ProcessingContext.java │ │ ├── ProcessingHandler.java │ │ └── handlers │ │ │ ├── AbstractProcessingHandler.java │ │ │ ├── Base64Processor.java │ │ │ ├── CollectionUtils.java │ │ │ ├── DelayProcessor.java │ │ │ ├── DisplayProcessor.java │ │ │ ├── JSONPointerProcessor.java │ │ │ ├── RegExpProcessor.java │ │ │ ├── TemplateProcessor.java │ │ │ ├── TokenGenerator.java │ │ │ ├── VariableUtils.java │ │ │ ├── XPathProcessor.java │ │ │ └── XSLTProcessor.java │ │ ├── processors │ │ ├── AssignProcessor.java │ │ ├── IProcessor.java │ │ └── VerifyProcessor.java │ │ ├── remote │ │ ├── BaseAddressingHandler.java │ │ ├── HttpHeaderHandler.java │ │ ├── RemoteCallContext.java │ │ ├── RemoteServiceClient.java │ │ ├── messaging │ │ │ ├── MessagingClientHandler.java │ │ │ ├── MessagingServiceClient.java │ │ │ └── RemoteMessagingModuleClient.java │ │ ├── processing │ │ │ ├── ProcessingClientHandler.java │ │ │ ├── ProcessingServiceClient.java │ │ │ └── RemoteProcessingModuleClient.java │ │ └── validation │ │ │ ├── RemoteValidationModuleClient.java │ │ │ ├── ValidationClientHandler.java │ │ │ └── ValidationServiceClient.java │ │ ├── repository │ │ └── RemoteTestCaseRepository.java │ │ ├── testcase │ │ ├── StepStatusMapType.java │ │ ├── StoredBinaryType.java │ │ ├── StoredObjectType.java │ │ ├── StoredSchemaType.java │ │ ├── StoredStringType.java │ │ ├── TestCaseContext.java │ │ └── TestCaseScope.java │ │ ├── utils │ │ ├── ArtifactUtils.java │ │ ├── HandlerUtils.java │ │ ├── ReportItemComparator.java │ │ ├── ScriptletCache.java │ │ ├── StepContext.java │ │ ├── TemplateUtils.java │ │ ├── TestCaseConverter.java │ │ └── TestCaseUtils.java │ │ └── validation │ │ ├── ValidationHandler.java │ │ └── handlers │ │ ├── common │ │ ├── AbstractReportHandler.java │ │ └── AbstractValidator.java │ │ ├── edi │ │ ├── EDIReportHandler.java │ │ └── EDIValidator.java │ │ ├── number │ │ ├── NumberReportHandler.java │ │ └── NumberValidator.java │ │ ├── schematron │ │ ├── SchematronReportHandler.java │ │ ├── SchematronResolver.java │ │ ├── SchematronValidator.java │ │ └── StringResource.java │ │ ├── string │ │ ├── ExpressionValidator.java │ │ ├── RegExpValidator.java │ │ ├── StringReportHandler.java │ │ └── StringValidator.java │ │ ├── xml │ │ ├── DocumentNamespaceContext.java │ │ └── XmlValidator.java │ │ ├── xmlunit │ │ ├── CustomDifferenceEvaluator.java │ │ └── XmlMatchValidator.java │ │ ├── xpath │ │ ├── XPathReportHandler.java │ │ └── XPathValidator.java │ │ └── xsd │ │ ├── XSDReportHandler.java │ │ ├── XSDResolver.java │ │ └── XSDValidator.java │ └── resources │ ├── application.conf │ ├── com │ └── gitb │ │ └── engine │ │ └── remote │ │ ├── messaging │ │ └── handler-chain-messaging.xml │ │ ├── processing │ │ └── handler-chain-processing.xml │ │ └── validation │ │ └── handler-chain-validation.xml │ ├── engine-module.properties │ ├── messaging │ ├── dns-messaging-definition.xml │ ├── http-messaging-definition.xml │ ├── http-proxy-messaging-definition.xml │ ├── https-messaging-definition.xml │ ├── keystore │ │ ├── gitb-engine.jks │ │ └── gitb-engine.pem │ ├── soap-messaging-definition.xml │ ├── tcp-messaging-definition.xml │ └── udp-messaging-definition.xml │ ├── tdl2tpl.xsl │ └── validation │ ├── edi-validator-definition.xml │ ├── expression-validator-definition.xml │ ├── number-validator-definition.xml │ ├── regexp-validator-definition.xml │ ├── schematron-validator-definition.xml │ ├── string-validator-definition.xml │ ├── xml-validator-definition.xml │ ├── xpath-validator-definition.xml │ └── xsd-validator-definition.xml ├── gitb-lib ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── gitb │ └── utils │ ├── ActorUtils.java │ ├── BindingUtils.java │ ├── ConfigurationUtils.java │ ├── DataTypeUtils.java │ ├── EncodingUtils.java │ ├── HmacUtils.java │ ├── JarUtils.java │ ├── NamespaceContext.java │ ├── TimeUtils.java │ ├── XMLDateTimeUtils.java │ └── map │ └── Tuple.java ├── gitb-reports ├── .gitignore ├── README.md ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── gitb │ │ │ └── reports │ │ │ ├── ReportGenerator.java │ │ │ ├── ReportSpecs.java │ │ │ ├── dto │ │ │ ├── ConformanceItem.java │ │ │ ├── ConformanceOverview.java │ │ │ ├── ConformanceStatementData.java │ │ │ ├── ConformanceStatementOverview.java │ │ │ ├── TestCaseGroup.java │ │ │ ├── TestCaseOverview.java │ │ │ ├── TestSuiteOverview.java │ │ │ └── tar │ │ │ │ ├── ContextItem.java │ │ │ │ ├── Report.java │ │ │ │ └── ReportItem.java │ │ │ └── extensions │ │ │ ├── EscapeHtml.java │ │ │ ├── NoWrapPrinter.java │ │ │ ├── PrintResult.java │ │ │ └── TestCoverageBlock.java │ └── resources │ │ ├── fonts │ │ ├── FreeMono │ │ │ ├── FreeMono.ttf │ │ │ ├── FreeMonoBold.ttf │ │ │ ├── FreeMonoBoldOblique.ttf │ │ │ └── FreeMonoOblique.ttf │ │ └── FreeSans │ │ │ ├── FreeSans.ttf │ │ │ ├── FreeSansBold.ttf │ │ │ ├── FreeSansBoldOblique.ttf │ │ │ └── FreeSansOblique.ttf │ │ └── reports │ │ ├── ConformanceOverview.ftl │ │ ├── ConformanceStatementOverview.ftl │ │ ├── TAR.ftl │ │ ├── TestCaseDocumentationPreview.ftl │ │ ├── TestCaseOverview.ftl │ │ ├── fragments │ │ ├── commonBlocks.ftl │ │ ├── commonStyles.ftl │ │ └── testStepReport.ftl │ │ └── images │ │ ├── demo-badge.png │ │ ├── error.svg │ │ ├── icon-FAILURE.svg │ │ ├── icon-SUCCESS.svg │ │ ├── icon-UNDEFINED.svg │ │ ├── icon-WARNING.svg │ │ ├── icon-disabled.svg │ │ ├── icon-legend.svg │ │ ├── icon-optional.svg │ │ ├── icon-required.svg │ │ ├── info.svg │ │ └── warning.svg │ └── test │ ├── java │ └── com │ │ └── gitb │ │ └── reports │ │ └── ReportGeneratorTest.java │ └── resources │ ├── TC1.png │ ├── TC2.png │ └── TC3.png ├── gitb-testbed-service ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── gitb │ │ └── tbs │ │ ├── Application.java │ │ ├── config │ │ └── BeanConfig.java │ │ ├── context │ │ └── TestbedServiceContextListener.java │ │ ├── impl │ │ ├── MessagingClientImpl.java │ │ ├── ProcessingClientImpl.java │ │ ├── TestbedServiceCallbackHandler.java │ │ ├── TestbedServiceImpl.java │ │ └── ValidationClientImpl.java │ │ ├── logging │ │ └── TestSessionAppender.java │ │ └── servers │ │ ├── AbstractMessagingServer.java │ │ ├── HttpMessagingServer.java │ │ └── SoapMessagingServer.java │ └── resources │ ├── application.properties │ ├── banner.txt │ └── logback.xml ├── gitb-ui ├── app │ ├── CustomApplicationLoader.scala │ ├── CustomHttpRequestHandler.scala │ ├── ErrorHandler.scala │ ├── Filters.scala │ ├── actors │ │ ├── SessionLaunchActor.scala │ │ ├── SessionManagerActor.scala │ │ ├── SessionUpdateActor.scala │ │ ├── TriggerActor.scala │ │ ├── WebSocketActor.scala │ │ └── events │ │ │ ├── ConformanceStatementCreatedEvent.scala │ │ │ ├── ConformanceStatementSucceededEvent.scala │ │ │ ├── ConformanceStatementUpdatedEvent.scala │ │ │ ├── OrganisationCreatedEvent.scala │ │ │ ├── OrganisationUpdatedEvent.scala │ │ │ ├── SystemCreatedEvent.scala │ │ │ ├── SystemUpdatedEvent.scala │ │ │ ├── TestSessionFailedEvent.scala │ │ │ ├── TestSessionStartedEvent.scala │ │ │ ├── TestSessionSucceededEvent.scala │ │ │ ├── TriggerEvent.scala │ │ │ └── sessions │ │ │ ├── PrepareTestSessionsEvent.scala │ │ │ ├── ProcessNextTestSessionEvent.scala │ │ │ ├── SessionLaunchState.scala │ │ │ ├── TerminateAllSessionsEvent.scala │ │ │ ├── TerminateSessionsEvent.scala │ │ │ ├── TestSessionCompletedEvent.scala │ │ │ └── TestSessionConfiguredEvent.scala │ ├── assets │ │ ├── components │ │ │ ├── gitb-cookie-cleanup.js │ │ │ └── gitb-init-sandbox.js │ │ └── stylesheets │ │ │ └── css │ │ │ ├── theme-ec.css │ │ │ └── theme-gitb.css │ ├── config │ │ └── Configurations.scala │ ├── controllers │ │ ├── AccountService.scala │ │ ├── ActorService.scala │ │ ├── Application.scala │ │ ├── AuthenticationService.scala │ │ ├── BreadcrumbService.scala │ │ ├── CommunityService.scala │ │ ├── ConformanceService.scala │ │ ├── EndPointService.scala │ │ ├── ErrorTemplateService.scala │ │ ├── FrontendController.scala │ │ ├── LandingPageService.scala │ │ ├── LegalNoticeService.scala │ │ ├── OrganizationService.scala │ │ ├── ParameterService.scala │ │ ├── ReportService.scala │ │ ├── RepositoryService.scala │ │ ├── SpecificationService.scala │ │ ├── SystemConfigurationService.scala │ │ ├── SystemService.scala │ │ ├── TestResultService.scala │ │ ├── TestService.scala │ │ ├── TestSuiteService.scala │ │ ├── TriggerService.scala │ │ ├── UserService.scala │ │ ├── WebSocketService.scala │ │ ├── dto │ │ │ └── ExportDemoCertificateInfo.scala │ │ ├── rest │ │ │ ├── BaseAutomationService.scala │ │ │ ├── CommunityAutomationService.scala │ │ │ ├── ConfigurationAutomationService.scala │ │ │ ├── DomainAutomationService.scala │ │ │ ├── TestAutomationService.scala │ │ │ └── TestSuiteAutomationService.scala │ │ └── util │ │ │ ├── AuthorizedAction.scala │ │ │ ├── InputSanitizer.scala │ │ │ ├── ParameterExtractor.scala │ │ │ ├── Parameters.scala │ │ │ ├── RequestWithAttributes.scala │ │ │ └── ResponseConstructor.scala │ ├── db │ │ └── migration │ │ │ └── default │ │ │ ├── V104__Set_domain_api_keys.scala │ │ │ ├── V106__Set_system_api_keys.scala │ │ │ ├── V108__Set_system_api_keys_in_snapshots.scala │ │ │ ├── V110__Use_environment_variables_if_no_active_theme_set.scala │ │ │ ├── V114__Set_specification_group_api_keys.scala │ │ │ ├── V53__Encrypt_secrets_at_rest.scala │ │ │ ├── V56__Externalize_attachments.scala │ │ │ ├── V60__Set_actor_api_keys.scala │ │ │ ├── V63__Set_specification_api_keys.scala │ │ │ ├── V66__Set_community_api_keys.scala │ │ │ ├── V74__Decouple_test_suite_folders_from_specs.scala │ │ │ ├── V84__Set_system_badge_keys.scala │ │ │ └── V86__Set_conformance_snapshot_api_keys.scala │ ├── ecas │ │ ├── AuthenticationLevel.java │ │ ├── ExtendedCas20ServiceTicketValidator.java │ │ └── ExtendedCasConfiguration.java │ ├── exceptions │ │ ├── AutomationApiException.scala │ │ ├── ErrorCodes.scala │ │ ├── InvalidAuthorizationException.scala │ │ ├── InvalidRequestException.scala │ │ ├── InvalidTokenException.scala │ │ ├── JsonValidationException.scala │ │ ├── MissingRequiredParameterException.scala │ │ ├── NotFoundException.scala │ │ ├── ServiceCallException.scala │ │ └── UnauthorizedAccessException.scala │ ├── extensions │ │ └── Binders.scala │ ├── filters │ │ ├── AuthenticationFilter.scala │ │ ├── CorsFilter.scala │ │ ├── ErrorFilter.scala │ │ ├── HeaderFilter.scala │ │ └── TimeoutFilter.scala │ ├── hooks │ │ ├── BeforeStartHook.scala │ │ ├── OnStopHook.scala │ │ └── PostStartHook.scala │ ├── jaxws │ │ ├── HeaderHandler.java │ │ ├── HeaderHandlerResolver.java │ │ └── TestbedService.java │ ├── managers │ │ ├── AccountManager.scala │ │ ├── ActorManager.scala │ │ ├── AttachmentType.java │ │ ├── AuthenticationManager.scala │ │ ├── AuthorizationManager.scala │ │ ├── AutomationApiHelper.scala │ │ ├── BaseManager.scala │ │ ├── BreadcrumbManager.scala │ │ ├── CommunityHelper.scala │ │ ├── CommunityLabelManager.scala │ │ ├── CommunityManager.scala │ │ ├── CommunityResourceManager.scala │ │ ├── ConformanceManager.scala │ │ ├── DomainManager.scala │ │ ├── DomainParameterManager.scala │ │ ├── EndPointManager.scala │ │ ├── ErrorTemplateManager.scala │ │ ├── LandingPageManager.scala │ │ ├── LegalNoticeManager.scala │ │ ├── OptionManager.scala │ │ ├── OrganizationManager.scala │ │ ├── ParameterManager.scala │ │ ├── ReportHelper.scala │ │ ├── ReportManager.scala │ │ ├── SpecificationManager.scala │ │ ├── SystemConfigurationManager.scala │ │ ├── SystemManager.scala │ │ ├── TestCaseManager.scala │ │ ├── TestCaseReportProducer.scala │ │ ├── TestExecutionManager.scala │ │ ├── TestResultManager.scala │ │ ├── TestSuiteManager.scala │ │ ├── TestbedBackendClient.scala │ │ ├── TitledTestStepReportType.java │ │ ├── TriggerCallbacks.scala │ │ ├── TriggerDataLoader.scala │ │ ├── TriggerHelper.scala │ │ ├── TriggerManager.scala │ │ ├── UserManager.scala │ │ ├── breadcrumb │ │ │ ├── BreadcrumbLabelRequest.scala │ │ │ └── BreadcrumbLabelResponse.scala │ │ ├── export │ │ │ ├── DomainExportInfo.scala │ │ │ ├── DomainImportInfo.scala │ │ │ ├── ExistingIds.scala │ │ │ ├── ExportManager.scala │ │ │ ├── ExportSettings.scala │ │ │ ├── IdGenerator.scala │ │ │ ├── ImportCallbacks.scala │ │ │ ├── ImportCompleteManager.scala │ │ │ ├── ImportContext.scala │ │ │ ├── ImportItem.scala │ │ │ ├── ImportItemMaps.scala │ │ │ ├── ImportPreviewManager.scala │ │ │ ├── ImportSettings.scala │ │ │ ├── ImportTargets.scala │ │ │ ├── SystemSettingsExportInfo.scala │ │ │ └── Version.scala │ │ └── testsuite │ │ │ ├── TestSuitePaths.scala │ │ │ └── TestSuiteSaveResult.scala │ ├── models │ │ ├── Actors.scala │ │ ├── ActualUserInfo.scala │ │ ├── BadgeInfo.scala │ │ ├── BadgeStatus.scala │ │ ├── Badges.scala │ │ ├── Community.scala │ │ ├── CommunityKeystore.scala │ │ ├── CommunityLabels.scala │ │ ├── CommunityReportSettings.scala │ │ ├── CommunityResources.scala │ │ ├── Configs.scala │ │ ├── ConformanceCertificate.scala │ │ ├── ConformanceCertificateInfo.scala │ │ ├── ConformanceOverviewCertificate.scala │ │ ├── ConformanceOverviewCertificateMessage.scala │ │ ├── ConformanceOverviewCertificateWithMessages.scala │ │ ├── ConformanceResult.scala │ │ ├── ConformanceStatement.scala │ │ ├── ConformanceStatementFull.scala │ │ ├── ConformanceStatementItem.scala │ │ ├── ConformanceStatementResultData.scala │ │ ├── ConformanceStatus.scala │ │ ├── ConformanceStatusBuilder.scala │ │ ├── ConformanceStatusItem.scala │ │ ├── ConformanceTestCase.scala │ │ ├── ConformanceTestSuite.scala │ │ ├── Constants.scala │ │ ├── Domain.scala │ │ ├── DomainParameter.scala │ │ ├── EmailSettings.scala │ │ ├── Endpoint.scala │ │ ├── Enums.scala │ │ ├── ErrorPageData.scala │ │ ├── ErrorTemplate.scala │ │ ├── FileInfo.scala │ │ ├── LandingPage.scala │ │ ├── LegalNotice.scala │ │ ├── NamedFile.scala │ │ ├── Options.scala │ │ ├── OrganisationCreationDbInfo.scala │ │ ├── OrganisationParameterValues.scala │ │ ├── OrganisationParameters.scala │ │ ├── Organization.scala │ │ ├── Parameter.scala │ │ ├── ProcessedArchive.scala │ │ ├── PublicConfig.scala │ │ ├── SelfRegOption.scala │ │ ├── SelfRegTemplate.scala │ │ ├── SessionFolderInfo.scala │ │ ├── Specification.scala │ │ ├── SpecificationGroups.scala │ │ ├── StatementParameterMinimal.scala │ │ ├── System.scala │ │ ├── SystemConfigurationEndpoint.scala │ │ ├── SystemConfigurationParameter.scala │ │ ├── SystemConfigurationParameterMinimal.scala │ │ ├── SystemConfigurations.scala │ │ ├── SystemCreationDbInfo.scala │ │ ├── SystemParameterValues.scala │ │ ├── SystemParameters.scala │ │ ├── TestArtifactMetadata.scala │ │ ├── TestCase.scala │ │ ├── TestCaseDeploymentAction.scala │ │ ├── TestCaseGroup.scala │ │ ├── TestCaseTag.scala │ │ ├── TestInteraction.scala │ │ ├── TestResult.scala │ │ ├── TestResultDefinition.scala │ │ ├── TestSessionLaunchData.scala │ │ ├── TestStepResult.scala │ │ ├── TestStepResultInfo.scala │ │ ├── TestSuite.scala │ │ ├── TestSuiteDeploymentAction.scala │ │ ├── TestSuiteUploadItemResult.scala │ │ ├── TestSuiteUploadResult.scala │ │ ├── TestSuiteUploadTestCase.scala │ │ ├── Token.scala │ │ ├── Transaction.scala │ │ ├── TriggerData.scala │ │ ├── TriggerFireExpression.scala │ │ ├── Triggers.scala │ │ ├── User.scala │ │ ├── UserAccount.scala │ │ ├── automation │ │ │ ├── ApiKeyActorInfo.scala │ │ │ ├── ApiKeyInfo.scala │ │ │ ├── ApiKeySpecificationInfo.scala │ │ │ ├── ApiKeySystemInfo.scala │ │ │ ├── ApiKeyTestCaseInfo.scala │ │ │ ├── ApiKeyTestSuiteInfo.scala │ │ │ ├── ConfigurationRequest.scala │ │ │ ├── CreateActorRequest.scala │ │ │ ├── CreateCommunityRequest.scala │ │ │ ├── CreateDomainRequest.scala │ │ │ ├── CreateOrganisationRequest.scala │ │ │ ├── CreateSpecificationGroupRequest.scala │ │ │ ├── CreateSpecificationRequest.scala │ │ │ ├── CreateSystemRequest.scala │ │ │ ├── CustomPropertyInfo.scala │ │ │ ├── DomainParameterInfo.scala │ │ │ ├── InputMapping.scala │ │ │ ├── InputMappingContent.scala │ │ │ ├── KeyValue.scala │ │ │ ├── KeyValueRequired.scala │ │ │ ├── OrganisationIdsForApi.scala │ │ │ ├── PartyConfiguration.scala │ │ │ ├── SpecificationActorApiKeys.scala │ │ │ ├── StatementConfiguration.scala │ │ │ ├── StatementIds.scala │ │ │ ├── TestSessionLaunchInfo.scala │ │ │ ├── TestSessionLaunchRequest.scala │ │ │ ├── TestSessionStatus.scala │ │ │ ├── TestSuiteDeployRequest.scala │ │ │ ├── TestSuiteLinkRequest.scala │ │ │ ├── TestSuiteLinkRequestSpecification.scala │ │ │ ├── TestSuiteLinkResponseSpecification.scala │ │ │ ├── TestSuiteUndeployRequest.scala │ │ │ ├── TestSuiteUnlinkRequest.scala │ │ │ ├── TestSuiteUploadResultWithApiKeys.scala │ │ │ ├── UpdateActorRequest.scala │ │ │ ├── UpdateCommunityRequest.scala │ │ │ ├── UpdateDomainRequest.scala │ │ │ ├── UpdateOrganisationRequest.scala │ │ │ ├── UpdateSpecificationGroupRequest.scala │ │ │ ├── UpdateSpecificationRequest.scala │ │ │ └── UpdateSystemRequest.scala │ │ ├── prerequisites │ │ │ ├── PrerequisiteUtil.scala │ │ │ └── WithPrerequisite.scala │ │ ├── snapshot │ │ │ ├── ConformanceSnapshot.scala │ │ │ ├── ConformanceSnapshotActor.scala │ │ │ ├── ConformanceSnapshotCertificateMessage.scala │ │ │ ├── ConformanceSnapshotDomain.scala │ │ │ ├── ConformanceSnapshotDomainParameter.scala │ │ │ ├── ConformanceSnapshotOrganisation.scala │ │ │ ├── ConformanceSnapshotOrganisationProperty.scala │ │ │ ├── ConformanceSnapshotOverviewCertificateMessage.scala │ │ │ ├── ConformanceSnapshotResult.scala │ │ │ ├── ConformanceSnapshotSpecification.scala │ │ │ ├── ConformanceSnapshotSpecificationGroup.scala │ │ │ ├── ConformanceSnapshotSystem.scala │ │ │ ├── ConformanceSnapshotSystemProperty.scala │ │ │ ├── ConformanceSnapshotTestCase.scala │ │ │ ├── ConformanceSnapshotTestCaseGroup.scala │ │ │ └── ConformanceSnapshotTestSuite.scala │ │ ├── statement │ │ │ ├── BadgeListPlaceholderInfo.scala │ │ │ ├── BadgePlaceholderInfo.scala │ │ │ ├── ConformanceData.scala │ │ │ ├── ConformanceDataLocator.scala │ │ │ ├── ConformanceItemTreeData.scala │ │ │ ├── ConformanceStatementResults.scala │ │ │ ├── ResultCountHolder.scala │ │ │ └── ResultHolder.scala │ │ └── theme │ │ │ ├── Theme.scala │ │ │ └── ThemeFiles.scala │ ├── modules │ │ ├── BasicAuthorizer.java │ │ ├── CustomCallbackLogic.scala │ │ ├── CustomPlayEhCacheSessionStore.java │ │ ├── CustomPlayEhCacheStore.java │ │ ├── MigrationInitializer.scala │ │ ├── Module.scala │ │ └── SecurityModule.scala │ ├── persistence │ │ ├── cache │ │ │ ├── Keys.scala │ │ │ ├── Redis.scala │ │ │ └── TokenCache.scala │ │ └── db │ │ │ ├── PersistenceLayer.scala │ │ │ └── PersistenceSchema.scala │ ├── utils │ │ ├── ClamAVClient.java │ │ ├── CryptoUtil.scala │ │ ├── EmailUtil.java │ │ ├── HtmlUtil.java │ │ ├── JacksonUtil.java │ │ ├── JsonUtil.scala │ │ ├── MimeUtil.java │ │ ├── RepositoryUtils.scala │ │ ├── TimeUtil.scala │ │ ├── ValueWithLabel.java │ │ ├── ZipArchiver.java │ │ ├── signature │ │ │ ├── CMSProcessableInputStream.java │ │ │ ├── CreateSignature.java │ │ │ ├── CreateSignatureBase.java │ │ │ ├── SigUtils.java │ │ │ ├── TSAClient.java │ │ │ ├── TimestampingException.java │ │ │ └── ValidationTimeStamp.java │ │ └── tdlvalidator │ │ │ └── tdl │ │ │ ├── FileSource.java │ │ │ └── TestSuiteValidationAdapter.java │ └── views │ │ ├── error.scala.html │ │ ├── index.scala.html │ │ └── ngApp.scala.html ├── build.sbt ├── conf │ ├── api │ │ └── openapi.json │ ├── application.conf │ ├── banner.txt │ ├── db │ │ ├── baseline │ │ │ ├── B100__Release_v1.22.0.sql │ │ │ ├── B111__Release_v1.23.0.sql │ │ │ ├── B117__Release_v1.24.0.sql │ │ │ └── B119__Release_v1.25.0.sql │ │ └── migration │ │ │ └── default │ │ │ ├── V100__Remove_builtin_test_organisation.sql │ │ │ ├── V101__System_version_in_snapshots.sql │ │ │ ├── V102__Test_case_and_suite_versions_in_snapshots.sql │ │ │ ├── V103__Domain_API_keys.sql │ │ │ ├── V105__Domain_API_keys_not_null.sql │ │ │ ├── V107__System_API_keys_not_null.sql │ │ │ ├── V109__System_API_keys_in_snapshots_not_null.sql │ │ │ ├── V10__Add_support_for default_actors_and_actor_ordering.sql │ │ │ ├── V111__Button_theming.sql │ │ │ ├── V112__Delete_stored_default_master_password.sql │ │ │ ├── V113__Specification_group_API_keys.sql │ │ │ ├── V115__Specification_group_API_keys_not_null.sql │ │ │ ├── V116__Report_settings.sql │ │ │ ├── V117__XML_report_metadata.sql │ │ │ ├── V118__Trigger_fire_expressions.sql │ │ │ ├── V119__Test_case_groups.sql │ │ │ ├── V11__Default_actor_set_by_default.sql │ │ │ ├── V12__Add_error_templates.sql │ │ │ ├── V13__Add_conformance_certificates.sql │ │ │ ├── V14__Add_test_suite_file_name.sql │ │ │ ├── V15__Add_test_case_order.sql │ │ │ ├── V16__Add_actor_role_to_testcasehasactors.sql │ │ │ ├── V17__Add_sso_info_to_users.sql │ │ │ ├── V18__Self_registration_for_communities.sql │ │ │ ├── V19__Public_organisation_templates.sql │ │ │ ├── V1__Base_DB_for_GITB_v1.1.0.sql │ │ │ ├── V20__Configuration_parameter_extensions.sql │ │ │ ├── V21__Organisation_and_system_properties.sql │ │ │ ├── V22__Convert_blobs_to_mediumblobs.sql │ │ │ ├── V23__Custom_properties_exportable.sql │ │ │ ├── V24__Update_collation_for_unique_text_columns.sql │ │ │ ├── V25__Custom_community_labels.sql │ │ │ ├── V26__Custom_community_labels_casing.sql │ │ │ ├── V27__Add_support_for_hidden_actors.sql │ │ │ ├── V28__Self_registration_notifications.sql │ │ │ ├── V29__Add_support_for_hidden_specifications.sql │ │ │ ├── V2__Adapt_unique_index_for_test_suite.sql │ │ │ ├── V30__Community_descriptions.sql │ │ │ ├── V31__Organisation_properties_in_selfreg.sql │ │ │ ├── V32__Drop_unused_specification_columns.sql │ │ │ ├── V33__Test_suite_and_test_case_documentation.sql │ │ │ ├── V34__Community_selfregistration_restrictions.sql │ │ │ ├── V35__Remove_unlinked_configurations.sql │ │ │ ├── V36__Add_FKs.sql │ │ │ ├── V37__Custom_self_registration_token_help_text.sql │ │ │ ├── V38__Consider_test_suite_and_test_case_ids.sql │ │ │ ├── V39__Event_triggers.sql │ │ │ ├── V3__Link_actors_to_specification.sql │ │ │ ├── V40__Custom_properties_hidden.sql │ │ │ ├── V41__self_registration_requirements.sql │ │ │ ├── V42__Property_predefined_values.sql │ │ │ ├── V43__Property_dependencies_and_ordering.sql │ │ │ ├── V44__Certificate_download_by_organisation_users.sql │ │ │ ├── V45__Community_permissions.sql │ │ │ ├── V46__Domain_parameters_not_in_tests.sql │ │ │ ├── V47__Community_permissions_linked_to_tests.sql │ │ │ ├── V48__Test_session_output.sql │ │ │ ├── V49__Hidden_test_suites.sql │ │ │ ├── V4__Add_test_suite_id_to_test_case.sql │ │ │ ├── V50__Force_password_change_for_default_users.sql │ │ │ ├── V51__Update_character_sets_and_collations.sql │ │ │ ├── V52__Enable_secrets_verification.sql │ │ │ ├── V54__Conformance_result_update_time.sql │ │ │ ├── V55__Attachments.sql │ │ │ ├── V57__API_keys_for_organisation_and_system.sql │ │ │ ├── V58__automation_api_option_for_community.sql │ │ │ ├── V59__API_key_for_actors.sql │ │ │ ├── V5__Add_relations_to_test_results.sql │ │ │ ├── V61__API_key_for_actors_not_null.sql │ │ │ ├── V62__API_key_for_specifications.sql │ │ │ ├── V64__API_key_for_specifications_not_null.sql │ │ │ ├── V65__API_key_for_communities.sql │ │ │ ├── V67__API_key_for_commuities_not_null.sql │ │ │ ├── V68__Trigger_service_types.sql │ │ │ ├── V69__Statement_parameter_names.sql │ │ │ ├── V6__Add_domain_configuration.sql │ │ │ ├── V70__Parameter_default_values.sql │ │ │ ├── V71__Community_resources.sql │ │ │ ├── V72__Test_result_definitions.sql │ │ │ ├── V73__Shared_test_suites.sql │ │ │ ├── V75__Specification_groups.sql │ │ │ ├── V76__Optional_system_version.sql │ │ │ ├── V77__Specification_ordering.sql │ │ │ ├── V78__Optional_and_disabled_test_cases.sql │ │ │ ├── V79__Test_case_tags.sql │ │ │ ├── V7__Add_conformance_results.sql │ │ │ ├── V80__System_configurations_long_values.sql │ │ │ ├── V81__Optional_title_in_conformance_certificate.sql │ │ │ ├── V82__Conformance_status_snapshots.sql │ │ │ ├── V83__Conformance_badges.sql │ │ │ ├── V85__Update_snapshot_badge_keys.sql │ │ │ ├── V87__Snapshot_api_key_not_null.sql │ │ │ ├── V88__Themes.sql │ │ │ ├── V89__Sandbox_archive_hashes.sql │ │ │ ├── V8__Add_community_support_email.sql │ │ │ ├── V90__Optional_conformance_certificate_page_numbers.sql │ │ │ ├── V91__Delete_sample_user_accounts.sql │ │ │ ├── V92__Organisation_last_update_timestamp.sql │ │ │ ├── V93__Persistent_test_session_user_interactions.sql │ │ │ ├── V94__Pending_interaction_notifications.sql │ │ │ ├── V95__Test_suite_specification_references.sql │ │ │ ├── V96__Public_conformance_snapshots.sql │ │ │ ├── V97__Extended_conformance_snapshot_data.sql │ │ │ ├── V98__Conformance_overview_certificates.sql │ │ │ ├── V99__SUT_flag_for_snapshot_actors.sql │ │ │ └── V9__Add_support_for_onetime_passwords.sql │ ├── input-sanitizer.conf │ ├── logback.xml │ ├── other │ │ └── sampleTestCaseReport.xml │ ├── routes │ └── validator-tdl │ │ └── validator.properties ├── project │ ├── FrontendCommands.scala │ ├── build.properties │ ├── owasp-suppressions.xml │ └── plugins.sbt ├── public │ └── images │ │ ├── ec.png │ │ ├── favicon-ec.gif │ │ ├── favicon.png │ │ └── gitb.png ├── ui-build.sbt └── ui │ ├── .editorconfig │ ├── .gitignore │ ├── .nsprc │ ├── .vscode │ └── launch.json │ ├── angular.json │ ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.json │ ├── karma.conf.js │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── common │ │ │ ├── constants.ts │ │ │ ├── global.ts │ │ │ ├── load-status.ts │ │ │ └── utils.ts │ │ ├── components │ │ │ ├── alert-display │ │ │ │ ├── alert-display.component.html │ │ │ │ └── alert-display.component.ts │ │ │ ├── api-key-info │ │ │ │ ├── api-key-info.component.html │ │ │ │ ├── api-key-info.component.less │ │ │ │ └── api-key-info.component.ts │ │ │ ├── api-key-text │ │ │ │ ├── api-key-text.component.html │ │ │ │ └── api-key-text.component.ts │ │ │ ├── base-code-editor-modal │ │ │ │ └── base-code-editor-modal.component.ts │ │ │ ├── base-conformance-item-display │ │ │ │ └── base-conformance-item-display.component.ts │ │ │ ├── base-table │ │ │ │ └── base-table.component.ts │ │ │ ├── breadcrumb │ │ │ │ ├── breadcrumb-item.ts │ │ │ │ ├── breadcrumb.component.html │ │ │ │ ├── breadcrumb.component.less │ │ │ │ └── breadcrumb.component.ts │ │ │ ├── change-password-form │ │ │ │ ├── change-password-form.component.html │ │ │ │ ├── change-password-form.component.ts │ │ │ │ └── password-change-data.type.ts │ │ │ ├── checkbox-option-panel │ │ │ │ ├── checkbox-option-panel.component.html │ │ │ │ ├── checkbox-option-panel.component.less │ │ │ │ ├── checkbox-option-panel.component.ts │ │ │ │ ├── checkbox-option-state.ts │ │ │ │ └── checkbox-option.ts │ │ │ ├── code-editor-modal │ │ │ │ ├── code-editor-modal.component.html │ │ │ │ ├── code-editor-modal.component.ts │ │ │ │ ├── code-editor-options.ts │ │ │ │ └── indicator.ts │ │ │ ├── collapsing-icon │ │ │ │ ├── collapsing-icon.component.html │ │ │ │ └── collapsing-icon.component.ts │ │ │ ├── color-picker │ │ │ │ ├── color-picker.component.html │ │ │ │ ├── color-picker.component.less │ │ │ │ └── color-picker.component.ts │ │ │ ├── conformance-statement-item-display │ │ │ │ ├── conformance-statement-item-display.component.html │ │ │ │ ├── conformance-statement-item-display.component.less │ │ │ │ └── conformance-statement-item-display.component.ts │ │ │ ├── conformance-statement-items-display │ │ │ │ ├── conformance-statement-items-display.component.html │ │ │ │ └── conformance-statement-items-display.component.ts │ │ │ ├── copy-enabled-text │ │ │ │ ├── copy-enabled-text.component.html │ │ │ │ ├── copy-enabled-text.component.less │ │ │ │ └── copy-enabled-text.component.ts │ │ │ ├── custom-property-filter │ │ │ │ ├── custom-property-filter.component.html │ │ │ │ ├── custom-property-filter.component.ts │ │ │ │ └── custom-property.ts │ │ │ ├── custom-property-form │ │ │ │ ├── custom-property-form.component.html │ │ │ │ ├── custom-property-form.component.less │ │ │ │ └── custom-property-form.component.ts │ │ │ ├── custom-property-panel │ │ │ │ ├── custom-property-panel.component.html │ │ │ │ ├── custom-property-panel.component.less │ │ │ │ └── custom-property-panel.component.ts │ │ │ ├── diagram │ │ │ │ ├── actor-info.ts │ │ │ │ ├── any-content.ts │ │ │ │ ├── assertion-report.ts │ │ │ │ ├── diagram-events.ts │ │ │ │ ├── report │ │ │ │ │ ├── any-content-view │ │ │ │ │ │ ├── any-content-view.component.html │ │ │ │ │ │ ├── any-content-view.component.less │ │ │ │ │ │ └── any-content-view.component.ts │ │ │ │ │ ├── report-support.ts │ │ │ │ │ ├── step-report.ts │ │ │ │ │ ├── test-assertion-report │ │ │ │ │ │ ├── test-assertion-report.component.html │ │ │ │ │ │ ├── test-assertion-report.component.less │ │ │ │ │ │ └── test-assertion-report.component.ts │ │ │ │ │ ├── test-step-report-dr │ │ │ │ │ │ └── test-step-report-dr.component.ts │ │ │ │ │ ├── test-step-report-sr │ │ │ │ │ │ └── test-step-report-sr.component.ts │ │ │ │ │ ├── test-step-report-tar │ │ │ │ │ │ ├── test-step-report-tar.component.html │ │ │ │ │ │ ├── test-step-report-tar.component.less │ │ │ │ │ │ └── test-step-report-tar.component.ts │ │ │ │ │ └── test-step-report │ │ │ │ │ │ ├── test-step-report.component.html │ │ │ │ │ │ ├── test-step-report.component.less │ │ │ │ │ │ └── test-step-report.component.ts │ │ │ │ ├── sequence-diagram-actor │ │ │ │ │ ├── sequence-diagram-actor.component.html │ │ │ │ │ └── sequence-diagram-actor.component.ts │ │ │ │ ├── sequence-diagram-message-status │ │ │ │ │ ├── sequence-diagram-message-status.component.html │ │ │ │ │ └── sequence-diagram-message-status.component.ts │ │ │ │ ├── sequence-diagram-message │ │ │ │ │ ├── sequence-diagram-message.component.html │ │ │ │ │ └── sequence-diagram-message.component.ts │ │ │ │ ├── sequence-diagram │ │ │ │ │ ├── sequence-diagram.component.html │ │ │ │ │ └── sequence-diagram.component.ts │ │ │ │ ├── step-data.ts │ │ │ │ ├── test-session-presentation │ │ │ │ │ ├── diagram-loader.service.ts │ │ │ │ │ ├── session-data.ts │ │ │ │ │ ├── session-presentation-data.ts │ │ │ │ │ ├── test-session-presentation.component.html │ │ │ │ │ └── test-session-presentation.component.ts │ │ │ │ └── test-step-report-modal │ │ │ │ │ ├── test-step-report-modal.component.html │ │ │ │ │ └── test-step-report-modal.component.ts │ │ │ ├── domain-specification-display │ │ │ │ ├── domain-specification-display.component.html │ │ │ │ ├── domain-specification-display.component.less │ │ │ │ └── domain-specification-display.component.ts │ │ │ ├── editor │ │ │ │ └── editor.component.ts │ │ │ ├── file-select │ │ │ │ ├── file-select.component.html │ │ │ │ ├── file-select.component.less │ │ │ │ └── file-select.component.ts │ │ │ ├── form-section │ │ │ │ ├── form-section.component.html │ │ │ │ ├── form-section.component.less │ │ │ │ └── form-section.component.ts │ │ │ ├── hidden-icon │ │ │ │ ├── hidden-icon.component.html │ │ │ │ ├── hidden-icon.component.less │ │ │ │ └── hidden-icon.component.ts │ │ │ ├── manage-badges │ │ │ │ ├── badge-info.ts │ │ │ │ ├── badges-info.ts │ │ │ │ ├── manage-badge │ │ │ │ │ ├── manage-badge.component.html │ │ │ │ │ └── manage-badge.component.ts │ │ │ │ ├── manage-badges.component.html │ │ │ │ └── manage-badges.component.ts │ │ │ ├── multi-select-filter │ │ │ │ ├── item-map.ts │ │ │ │ ├── multi-select-config.ts │ │ │ │ ├── multi-select-filter.component.html │ │ │ │ ├── multi-select-filter.component.less │ │ │ │ └── multi-select-filter.component.ts │ │ │ ├── optional-custom-property-form │ │ │ │ ├── optional-custom-property-form-data.type.ts │ │ │ │ ├── optional-custom-property-form.component.html │ │ │ │ └── optional-custom-property-form.component.ts │ │ │ ├── parameter-display │ │ │ │ ├── parameter-display.component.html │ │ │ │ └── parameter-display.component.ts │ │ │ ├── parameters │ │ │ │ ├── base-parameter-modal.component.ts │ │ │ │ ├── create-parameter-modal │ │ │ │ │ ├── create-parameter-modal.component.html │ │ │ │ │ └── create-parameter-modal.component.ts │ │ │ │ ├── parameter-details-modal │ │ │ │ │ ├── parameter-details-modal.component.html │ │ │ │ │ └── parameter-details-modal.component.ts │ │ │ │ ├── parameter-form │ │ │ │ │ ├── parameter-form.component.html │ │ │ │ │ └── parameter-form.component.ts │ │ │ │ └── parameter-modal-options.ts │ │ │ ├── pending-block │ │ │ │ ├── pending-block.component.html │ │ │ │ └── pending-block.component.ts │ │ │ ├── pending-div │ │ │ │ ├── pending-div.component.html │ │ │ │ ├── pending-div.component.less │ │ │ │ └── pending-div.component.ts │ │ │ ├── placeholder-selector │ │ │ │ ├── placeholder-info.ts │ │ │ │ ├── placeholder-selector.component.html │ │ │ │ ├── placeholder-selector.component.less │ │ │ │ └── placeholder-selector.component.ts │ │ │ ├── prescription-level │ │ │ │ ├── prescription-level.component.html │ │ │ │ ├── prescription-level.component.less │ │ │ │ └── prescription-level.component.ts │ │ │ ├── result-label │ │ │ │ ├── result-label.component.html │ │ │ │ ├── result-label.component.less │ │ │ │ └── result-label.component.ts │ │ │ ├── scroll-to-top │ │ │ │ └── scroll-to-top.component.ts │ │ │ ├── secret-input │ │ │ │ ├── secret-input.component.html │ │ │ │ └── secret-input.component.ts │ │ │ ├── self-registration │ │ │ │ ├── self-registration.component.html │ │ │ │ └── self-registration.component.ts │ │ │ ├── session-log-modal │ │ │ │ ├── line-info.ts │ │ │ │ ├── session-log-modal.component.html │ │ │ │ ├── session-log-modal.component.less │ │ │ │ └── session-log-modal.component.ts │ │ │ ├── session-table │ │ │ │ ├── session-table.component.html │ │ │ │ ├── session-table.component.less │ │ │ │ └── session-table.component.ts │ │ │ ├── simulated-configuration-display-modal │ │ │ │ ├── simulated-configuration-display-modal.component.html │ │ │ │ ├── simulated-configuration-display-modal.component.less │ │ │ │ └── simulated-configuration-display-modal.component.ts │ │ │ ├── sort-indicator │ │ │ │ ├── sort-indicator.component.html │ │ │ │ └── sort-indicator.component.ts │ │ │ ├── specification-reference-display │ │ │ │ ├── specification-reference-display.component.html │ │ │ │ ├── specification-reference-display.component.less │ │ │ │ └── specification-reference-display.component.ts │ │ │ ├── specification-reference-form │ │ │ │ ├── specification-reference-form.component.html │ │ │ │ └── specification-reference-form.component.ts │ │ │ ├── statement-controls │ │ │ │ ├── statement-controls.component.html │ │ │ │ └── statement-controls.component.ts │ │ │ ├── tab-title │ │ │ │ ├── tab-title.component.html │ │ │ │ ├── tab-title.component.less │ │ │ │ └── tab-title.component.ts │ │ │ ├── table-row │ │ │ │ ├── table-column-content │ │ │ │ │ ├── table-column-content.component.html │ │ │ │ │ └── table-column-content.component.ts │ │ │ │ ├── table-row.component.html │ │ │ │ └── table-row.component.ts │ │ │ ├── table │ │ │ │ ├── table.component.html │ │ │ │ └── table.component.ts │ │ │ ├── tag │ │ │ │ ├── tag.component.html │ │ │ │ ├── tag.component.less │ │ │ │ └── tag.component.ts │ │ │ ├── tags-display │ │ │ │ ├── tags-display.component.html │ │ │ │ ├── tags-display.component.less │ │ │ │ └── tags-display.component.ts │ │ │ ├── tar-report │ │ │ │ ├── tar-report.component.html │ │ │ │ ├── tar-report.component.less │ │ │ │ └── tar-report.component.ts │ │ │ ├── test-case-display │ │ │ │ ├── test-case-display.component.html │ │ │ │ ├── test-case-display.component.less │ │ │ │ └── test-case-display.component.ts │ │ │ ├── test-case-update-list │ │ │ │ ├── test-case-update-list.component.html │ │ │ │ ├── test-case-update-list.component.less │ │ │ │ └── test-case-update-list.component.ts │ │ │ ├── test-filter │ │ │ │ ├── filter-update.ts │ │ │ │ ├── filter-values.ts │ │ │ │ ├── object-with-id.ts │ │ │ │ ├── test-filter.component.html │ │ │ │ ├── test-filter.component.less │ │ │ │ └── test-filter.component.ts │ │ │ ├── test-result-ratio │ │ │ │ ├── test-result-ratio.component.html │ │ │ │ ├── test-result-ratio.component.less │ │ │ │ └── test-result-ratio.component.ts │ │ │ ├── test-result-status-display │ │ │ │ ├── close-event.ts │ │ │ │ ├── test-result-status-display.component.html │ │ │ │ ├── test-result-status-display.component.less │ │ │ │ └── test-result-status-display.component.ts │ │ │ ├── test-status-base │ │ │ │ └── test-status-base.ts │ │ │ ├── test-status-icons │ │ │ │ ├── counters.ts │ │ │ │ ├── test-status-icons.component.html │ │ │ │ ├── test-status-icons.component.less │ │ │ │ └── test-status-icons.component.ts │ │ │ ├── test-suite-display │ │ │ │ ├── test-suite-display.component.html │ │ │ │ ├── test-suite-display.component.less │ │ │ │ └── test-suite-display.component.ts │ │ │ ├── test-suite-upload-specification-choices │ │ │ │ ├── test-suite-upload-specification-choices.component.html │ │ │ │ ├── test-suite-upload-specification-choices.component.less │ │ │ │ └── test-suite-upload-specification-choices.component.ts │ │ │ ├── text-filter │ │ │ │ ├── text-filter.component.html │ │ │ │ ├── text-filter.component.less │ │ │ │ └── text-filter.component.ts │ │ │ ├── tooltip │ │ │ │ ├── tooltip.component.html │ │ │ │ ├── tooltip.component.less │ │ │ │ └── tooltip.component.ts │ │ │ └── view-badge-button │ │ │ │ ├── view-badge-button.component.html │ │ │ │ ├── view-badge-button.component.less │ │ │ │ └── view-badge-button.component.ts │ │ ├── directives │ │ │ ├── file-drop-target.directive.ts │ │ │ ├── invalid-form-control.directive.ts │ │ │ ├── no-auto-complete.directive.ts │ │ │ ├── pending-button.directive.ts │ │ │ └── true-false-value.directive.ts │ │ ├── modals │ │ │ ├── community-keystore-modal │ │ │ │ ├── community-keystore-modal.component.html │ │ │ │ ├── community-keystore-modal.component.less │ │ │ │ └── community-keystore-modal.component.ts │ │ │ ├── community-resource-bulk-upload-modal │ │ │ │ ├── community-resource-bulk-upload-modal.component.html │ │ │ │ └── community-resource-bulk-upload-modal.component.ts │ │ │ ├── confirmation │ │ │ │ ├── confirmation.component.html │ │ │ │ └── confirmation.component.ts │ │ │ ├── conformance-certificate-modal │ │ │ │ ├── badge-placeholder-info.ts │ │ │ │ ├── conformance-certificate-modal.component.html │ │ │ │ └── conformance-certificate-modal.component.ts │ │ │ ├── conformance-overview-certificate-modal │ │ │ │ ├── conformance-overview-certificate-modal.component.html │ │ │ │ └── conformance-overview-certificate-modal.component.ts │ │ │ ├── conformance-snapshots-modal │ │ │ │ ├── conformance-snapshots-modal.component.html │ │ │ │ ├── conformance-snapshots-modal.component.less │ │ │ │ └── conformance-snapshots-modal.component.ts │ │ │ ├── contact-support │ │ │ │ ├── contact-support.component.html │ │ │ │ ├── contact-support.component.ts │ │ │ │ └── feedback-type.type.ts │ │ │ ├── create-edit-community-resource-modal │ │ │ │ ├── create-edit-community-resource-modal.component.html │ │ │ │ └── create-edit-community-resource-modal.component.ts │ │ │ ├── create-edit-domain-parameter-modal │ │ │ │ ├── create-edit-domain-parameter-modal.component.html │ │ │ │ ├── create-edit-domain-parameter-modal.component.ts │ │ │ │ └── parameter-form-data.ts │ │ │ ├── create-edit-tag │ │ │ │ ├── create-edit-tag.component.html │ │ │ │ └── create-edit-tag.component.ts │ │ │ ├── disconnect-role │ │ │ │ ├── disconnect-role.component.html │ │ │ │ └── disconnect-role.component.ts │ │ │ ├── error │ │ │ │ ├── error.component.html │ │ │ │ └── error.component.ts │ │ │ ├── html │ │ │ │ ├── html.component.html │ │ │ │ └── html.component.ts │ │ │ ├── link-account │ │ │ │ ├── link-account.component.html │ │ │ │ └── link-account.component.ts │ │ │ ├── link-shared-test-suite-modal │ │ │ │ ├── link-shared-test-suite-modal.component.html │ │ │ │ ├── link-shared-test-suite-modal.component.less │ │ │ │ └── link-shared-test-suite-modal.component.ts │ │ │ ├── missing-configuration-modal │ │ │ │ ├── missing-configuration-action.ts │ │ │ │ ├── missing-configuration-modal.component.html │ │ │ │ ├── missing-configuration-modal.component.less │ │ │ │ └── missing-configuration-modal.component.ts │ │ │ ├── preview-badge-modal │ │ │ │ ├── preview-badge-modal.component.html │ │ │ │ ├── preview-badge-modal.component.less │ │ │ │ ├── preview-badge-modal.component.ts │ │ │ │ ├── preview-by-file.ts │ │ │ │ ├── preview-by-ids.ts │ │ │ │ └── preview-for-status.ts │ │ │ ├── preview-parameters-modal │ │ │ │ ├── preview-parameters-modal.component.html │ │ │ │ └── preview-parameters-modal.component.ts │ │ │ ├── provide-input-modal │ │ │ │ ├── provide-input-modal.component.html │ │ │ │ ├── provide-input-modal.component.less │ │ │ │ └── provide-input-modal.component.ts │ │ │ └── test-suite-upload-modal │ │ │ │ ├── pending-test-suite-upload-choice-test-case.ts │ │ │ │ ├── pending-test-suite-upload-choice.ts │ │ │ │ ├── specification-choice.ts │ │ │ │ ├── specification-result.ts │ │ │ │ ├── test-suite-upload-item-result.ts │ │ │ │ ├── test-suite-upload-modal.component.html │ │ │ │ ├── test-suite-upload-modal.component.less │ │ │ │ ├── test-suite-upload-modal.component.ts │ │ │ │ ├── test-suite-upload-result-spec.ts │ │ │ │ ├── test-suite-upload-result.ts │ │ │ │ ├── test-suite-upload-spec-test-cases.ts │ │ │ │ ├── test-suite-upload-test-case-choice.ts │ │ │ │ ├── test-suite-upload-test-case.ts │ │ │ │ ├── validation-report-item.ts │ │ │ │ └── validation-report.ts │ │ ├── pages │ │ │ ├── admin │ │ │ │ ├── conformance-dashboard │ │ │ │ │ ├── conformance-dashboard.component.html │ │ │ │ │ ├── conformance-dashboard.component.less │ │ │ │ │ └── conformance-dashboard.component.ts │ │ │ │ ├── domain-management │ │ │ │ │ ├── actor │ │ │ │ │ │ ├── actor-details │ │ │ │ │ │ │ ├── actor-details.component.html │ │ │ │ │ │ │ ├── actor-details.component.ts │ │ │ │ │ │ │ └── endpoint-representation.ts │ │ │ │ │ │ ├── actor-form │ │ │ │ │ │ │ ├── actor-form.component.html │ │ │ │ │ │ │ └── actor-form.component.ts │ │ │ │ │ │ └── create-actor │ │ │ │ │ │ │ ├── create-actor.component.html │ │ │ │ │ │ │ └── create-actor.component.ts │ │ │ │ │ ├── domain-management.component.html │ │ │ │ │ ├── domain-management.component.ts │ │ │ │ │ ├── domain │ │ │ │ │ │ ├── create-domain │ │ │ │ │ │ │ ├── create-domain.component.html │ │ │ │ │ │ │ └── create-domain.component.ts │ │ │ │ │ │ ├── domain-details │ │ │ │ │ │ │ ├── domain-details.component.html │ │ │ │ │ │ │ ├── domain-details.component.less │ │ │ │ │ │ │ └── domain-details.component.ts │ │ │ │ │ │ └── domain-form │ │ │ │ │ │ │ ├── domain-form.component.html │ │ │ │ │ │ │ └── domain-form.component.ts │ │ │ │ │ ├── endpoint │ │ │ │ │ │ ├── create-endpoint │ │ │ │ │ │ │ ├── create-endpoint.component.html │ │ │ │ │ │ │ └── create-endpoint.component.ts │ │ │ │ │ │ ├── endpoint-details │ │ │ │ │ │ │ ├── endpoint-data.ts │ │ │ │ │ │ │ ├── endpoint-details.component.html │ │ │ │ │ │ │ ├── endpoint-details.component.ts │ │ │ │ │ │ │ └── parameter-data.ts │ │ │ │ │ │ ├── endpoint-form │ │ │ │ │ │ │ ├── endpoint-form.component.html │ │ │ │ │ │ │ └── endpoint-form.component.ts │ │ │ │ │ │ └── endpoint-parameter-tab-content │ │ │ │ │ │ │ ├── endpoint-parameter-tab-content.component.html │ │ │ │ │ │ │ └── endpoint-parameter-tab-content.component.ts │ │ │ │ │ ├── specification │ │ │ │ │ │ ├── create-specification │ │ │ │ │ │ │ ├── create-specification.component.html │ │ │ │ │ │ │ └── create-specification.component.ts │ │ │ │ │ │ ├── group │ │ │ │ │ │ │ ├── create-specification-group │ │ │ │ │ │ │ │ ├── create-specification-group.component.html │ │ │ │ │ │ │ │ └── create-specification-group.component.ts │ │ │ │ │ │ │ ├── specification-group-details │ │ │ │ │ │ │ │ ├── specification-group-details.component.html │ │ │ │ │ │ │ │ └── specification-group-details.component.ts │ │ │ │ │ │ │ └── specification-group-form │ │ │ │ │ │ │ │ ├── specification-group-form.component.html │ │ │ │ │ │ │ │ └── specification-group-form.component.ts │ │ │ │ │ │ ├── specification-details │ │ │ │ │ │ │ ├── specification-details.component.html │ │ │ │ │ │ │ └── specification-details.component.ts │ │ │ │ │ │ └── specification-form │ │ │ │ │ │ │ ├── specification-form.component.html │ │ │ │ │ │ │ └── specification-form.component.ts │ │ │ │ │ └── test-suites │ │ │ │ │ │ ├── test-case-details │ │ │ │ │ │ ├── test-case-details.component.html │ │ │ │ │ │ ├── test-case-details.component.less │ │ │ │ │ │ └── test-case-details.component.ts │ │ │ │ │ │ └── test-suite-details │ │ │ │ │ │ ├── test-suite-details.component.html │ │ │ │ │ │ ├── test-suite-details.component.less │ │ │ │ │ │ └── test-suite-details.component.ts │ │ │ │ ├── export │ │ │ │ │ ├── export.component.html │ │ │ │ │ ├── export.component.less │ │ │ │ │ └── export.component.ts │ │ │ │ ├── import │ │ │ │ │ ├── import-item-group-preview │ │ │ │ │ │ ├── import-item-group-preview.component.html │ │ │ │ │ │ └── import-item-group-preview.component.ts │ │ │ │ │ ├── import-item-preview │ │ │ │ │ │ ├── import-item-preview.component.html │ │ │ │ │ │ └── import-item-preview.component.ts │ │ │ │ │ ├── import-item-state-group.ts │ │ │ │ │ ├── import-item-state.ts │ │ │ │ │ ├── import.component.html │ │ │ │ │ └── import.component.ts │ │ │ │ ├── session-dashboard │ │ │ │ │ ├── session-dashboard.component.html │ │ │ │ │ ├── session-dashboard.component.ts │ │ │ │ │ └── test-result-for-export.ts │ │ │ │ ├── system-administration │ │ │ │ │ ├── base-theme-form.component.ts │ │ │ │ │ ├── config-status.ts │ │ │ │ │ ├── configuration-entry │ │ │ │ │ │ ├── configuration-entry.component.html │ │ │ │ │ │ ├── configuration-entry.component.less │ │ │ │ │ │ └── configuration-entry.component.ts │ │ │ │ │ ├── create-theme │ │ │ │ │ │ ├── create-theme.component.html │ │ │ │ │ │ └── create-theme.component.ts │ │ │ │ │ ├── system-administration-tab.enum.ts │ │ │ │ │ ├── system-administration.component.html │ │ │ │ │ ├── system-administration.component.less │ │ │ │ │ ├── system-administration.component.ts │ │ │ │ │ ├── theme-details │ │ │ │ │ │ ├── theme-details.component.html │ │ │ │ │ │ └── theme-details.component.ts │ │ │ │ │ └── theme-form │ │ │ │ │ │ ├── theme-form.component.html │ │ │ │ │ │ └── theme-form.component.ts │ │ │ │ └── user-management │ │ │ │ │ ├── community-admin │ │ │ │ │ ├── community-admin-details │ │ │ │ │ │ ├── community-admin-details.component.html │ │ │ │ │ │ └── community-admin-details.component.ts │ │ │ │ │ └── create-community-admin │ │ │ │ │ │ ├── create-community-admin.component.html │ │ │ │ │ │ └── create-community-admin.component.ts │ │ │ │ │ ├── community-labels │ │ │ │ │ ├── community-labels.component.html │ │ │ │ │ ├── community-labels.component.less │ │ │ │ │ └── community-labels.component.ts │ │ │ │ │ ├── community-properties │ │ │ │ │ ├── action-methods.ts │ │ │ │ │ ├── community-properties.component.html │ │ │ │ │ └── community-properties.component.ts │ │ │ │ │ ├── community-reports │ │ │ │ │ ├── base-certificate-settings-form.component.ts │ │ │ │ │ ├── base-report-settings-form.component.ts │ │ │ │ │ ├── community-reports.component.html │ │ │ │ │ ├── community-reports.component.less │ │ │ │ │ ├── community-reports.component.ts │ │ │ │ │ ├── community-xml-report-form │ │ │ │ │ │ ├── community-xml-report-form.component.html │ │ │ │ │ │ ├── community-xml-report-form.component.ts │ │ │ │ │ │ ├── preview-config.ts │ │ │ │ │ │ └── preview-option.ts │ │ │ │ │ ├── conformance-certificate-form │ │ │ │ │ │ ├── conformance-certificate-form.component.html │ │ │ │ │ │ └── conformance-certificate-form.component.ts │ │ │ │ │ ├── conformance-overview-certificate-form │ │ │ │ │ │ ├── conformance-overview-certificate-form.component.html │ │ │ │ │ │ └── conformance-overview-certificate-form.component.ts │ │ │ │ │ ├── conformance-overview-message.ts │ │ │ │ │ ├── conformance-overview-report-form │ │ │ │ │ │ └── conformance-overview-report-form.component.ts │ │ │ │ │ ├── conformance-statement-report-form │ │ │ │ │ │ └── conformance-statement-report-form.component.ts │ │ │ │ │ ├── report-settings.ts │ │ │ │ │ ├── test-case-report-form │ │ │ │ │ │ └── test-case-report-form.component.ts │ │ │ │ │ └── test-step-report-form │ │ │ │ │ │ └── test-step-report-form.component.ts │ │ │ │ │ ├── community │ │ │ │ │ ├── community-details │ │ │ │ │ │ ├── community-details.component.html │ │ │ │ │ │ ├── community-details.component.less │ │ │ │ │ │ ├── community-details.component.ts │ │ │ │ │ │ └── community-tab.enum.ts │ │ │ │ │ ├── community-form │ │ │ │ │ │ ├── community-form.component.html │ │ │ │ │ │ └── community-form.component.ts │ │ │ │ │ └── create-community │ │ │ │ │ │ ├── create-community.component.html │ │ │ │ │ │ └── create-community.component.ts │ │ │ │ │ ├── error-template │ │ │ │ │ ├── create-error-template │ │ │ │ │ │ ├── create-error-template.component.html │ │ │ │ │ │ └── create-error-template.component.ts │ │ │ │ │ └── error-template-details │ │ │ │ │ │ ├── error-template-details.component.html │ │ │ │ │ │ └── error-template-details.component.ts │ │ │ │ │ ├── landing-page │ │ │ │ │ ├── create-landing-page │ │ │ │ │ │ ├── create-landing-page.component.html │ │ │ │ │ │ └── create-landing-page.component.ts │ │ │ │ │ ├── landing-page-details │ │ │ │ │ │ ├── landing-page-details.component.html │ │ │ │ │ │ └── landing-page-details.component.ts │ │ │ │ │ └── preview-landing-page │ │ │ │ │ │ ├── preview-landing-page.component.html │ │ │ │ │ │ └── preview-landing-page.component.ts │ │ │ │ │ ├── legal-notice │ │ │ │ │ ├── create-legal-notice │ │ │ │ │ │ ├── create-legal-notice.component.html │ │ │ │ │ │ └── create-legal-notice.component.ts │ │ │ │ │ └── legal-notice-details │ │ │ │ │ │ ├── legal-notice-details.component.html │ │ │ │ │ │ └── legal-notice-details.component.ts │ │ │ │ │ ├── organisation │ │ │ │ │ ├── create-organisation │ │ │ │ │ │ ├── create-organisation.component.html │ │ │ │ │ │ └── create-organisation.component.ts │ │ │ │ │ ├── organisation-details │ │ │ │ │ │ ├── OrganisationTab.ts │ │ │ │ │ │ ├── organisation-details.component.html │ │ │ │ │ │ └── organisation-details.component.ts │ │ │ │ │ └── organisation-form │ │ │ │ │ │ ├── organisation-form-data.ts │ │ │ │ │ │ ├── organisation-form.component.html │ │ │ │ │ │ └── organisation-form.component.ts │ │ │ │ │ ├── system-admin │ │ │ │ │ ├── admin-details │ │ │ │ │ │ ├── admin-details.component.html │ │ │ │ │ │ └── admin-details.component.ts │ │ │ │ │ └── create-admin │ │ │ │ │ │ ├── create-admin.component.html │ │ │ │ │ │ └── create-admin.component.ts │ │ │ │ │ ├── system │ │ │ │ │ ├── create-system │ │ │ │ │ │ ├── create-system.component.html │ │ │ │ │ │ └── create-system.component.ts │ │ │ │ │ ├── system-details │ │ │ │ │ │ ├── system-details.component.html │ │ │ │ │ │ └── system-details.component.ts │ │ │ │ │ └── system-form │ │ │ │ │ │ ├── system-form-data.ts │ │ │ │ │ │ ├── system-form.component.html │ │ │ │ │ │ └── system-form.component.ts │ │ │ │ │ ├── trigger │ │ │ │ │ ├── test-trigger-modal │ │ │ │ │ │ ├── test-trigger-modal.component.html │ │ │ │ │ │ └── test-trigger-modal.component.ts │ │ │ │ │ ├── trigger-fire-expression-control │ │ │ │ │ │ ├── trigger-fire-expression-control.component.html │ │ │ │ │ │ ├── trigger-fire-expression-control.component.less │ │ │ │ │ │ └── trigger-fire-expression-control.component.ts │ │ │ │ │ ├── trigger-fire-expression-modal │ │ │ │ │ │ ├── trigger-fire-expression-modal.component.html │ │ │ │ │ │ ├── trigger-fire-expression-modal.component.less │ │ │ │ │ │ └── trigger-fire-expression-modal.component.ts │ │ │ │ │ ├── trigger.component.html │ │ │ │ │ ├── trigger.component.less │ │ │ │ │ └── trigger.component.ts │ │ │ │ │ ├── user-form │ │ │ │ │ ├── user-form.component.html │ │ │ │ │ └── user-form.component.ts │ │ │ │ │ ├── user-management.component.html │ │ │ │ │ ├── user-management.component.ts │ │ │ │ │ └── user │ │ │ │ │ ├── create-user │ │ │ │ │ ├── create-user.component.html │ │ │ │ │ └── create-user.component.ts │ │ │ │ │ └── user-details │ │ │ │ │ ├── user-details.component.html │ │ │ │ │ └── user-details.component.ts │ │ │ ├── base-component.component.ts │ │ │ ├── base-tabbed-component.ts │ │ │ ├── home │ │ │ │ ├── home.component.html │ │ │ │ └── home.component.ts │ │ │ ├── index │ │ │ │ ├── header-menu │ │ │ │ │ ├── header-menu.component.html │ │ │ │ │ ├── header-menu.component.less │ │ │ │ │ └── header-menu.component.ts │ │ │ │ ├── index.component.html │ │ │ │ ├── index.component.less │ │ │ │ ├── index.component.ts │ │ │ │ ├── menu-group │ │ │ │ │ ├── menu-group.component.html │ │ │ │ │ ├── menu-group.component.less │ │ │ │ │ └── menu-group.component.ts │ │ │ │ └── menu-item │ │ │ │ │ ├── menu-item.component.html │ │ │ │ │ ├── menu-item.component.less │ │ │ │ │ └── menu-item.component.ts │ │ │ ├── login │ │ │ │ ├── login.component.html │ │ │ │ └── login.component.ts │ │ │ ├── organisation │ │ │ │ ├── conformance-statement │ │ │ │ │ ├── conformance-endpoint.ts │ │ │ │ │ ├── conformance-statement-tab.ts │ │ │ │ │ ├── conformance-statement.component.html │ │ │ │ │ ├── conformance-statement.component.less │ │ │ │ │ ├── conformance-statement.component.ts │ │ │ │ │ ├── conformance-test-case-group.ts │ │ │ │ │ ├── conformance-test-case.ts │ │ │ │ │ ├── conformance-test-suite.ts │ │ │ │ │ └── endpoint-representation.ts │ │ │ │ ├── conformance-statements │ │ │ │ │ ├── conformance-statements.component.html │ │ │ │ │ ├── conformance-statements.component.less │ │ │ │ │ └── conformance-statements.component.ts │ │ │ │ ├── create-conformance-statement │ │ │ │ │ ├── create-conformance-statement.component.html │ │ │ │ │ ├── create-conformance-statement.component.less │ │ │ │ │ └── create-conformance-statement.component.ts │ │ │ │ └── organisation-tests │ │ │ │ │ ├── organisation-tests.component.html │ │ │ │ │ └── organisation-tests.component.ts │ │ │ ├── settings │ │ │ │ ├── organisation │ │ │ │ │ └── organisation.component.ts │ │ │ │ ├── password │ │ │ │ │ ├── password.component.html │ │ │ │ │ └── password.component.ts │ │ │ │ └── profile │ │ │ │ │ ├── profile.component.html │ │ │ │ │ └── profile.component.ts │ │ │ └── test-execution │ │ │ │ ├── test-execution.component.html │ │ │ │ ├── test-execution.component.less │ │ │ │ └── test-execution.component.ts │ │ ├── pipes │ │ │ └── sanitize-html.pipe.ts │ │ ├── resolvers │ │ │ ├── admin-view-guard.ts │ │ │ ├── community-resolver.ts │ │ │ ├── edit-own-organisation-resolver.ts │ │ │ ├── edit-own-system-resolver.ts │ │ │ ├── error-template-resolver.ts │ │ │ ├── implicit-community-resolver.ts │ │ │ ├── landing-page-resolver.ts │ │ │ ├── legal-notice-resolver.ts │ │ │ ├── profile-resolver.ts │ │ │ ├── route-authentication.guard.ts │ │ │ └── system-admin-view-guard.ts │ │ ├── services │ │ │ ├── account.service.ts │ │ │ ├── actor.service.ts │ │ │ ├── auth-provider.service.ts │ │ │ ├── auth.service.ts │ │ │ ├── base-rest.service.ts │ │ │ ├── breadcrumb.service.ts │ │ │ ├── community.service.ts │ │ │ ├── confirmation-dialog.service.ts │ │ │ ├── conformance.service.ts │ │ │ ├── data.service.ts │ │ │ ├── drag-support.service.ts │ │ │ ├── endpoint.service.ts │ │ │ ├── error-template.service.ts │ │ │ ├── error.service.ts │ │ │ ├── html.service.ts │ │ │ ├── landing-page.service.ts │ │ │ ├── legal-notice.service.ts │ │ │ ├── organisation.service.ts │ │ │ ├── parameter.service.ts │ │ │ ├── popup.service.ts │ │ │ ├── report-support.service.ts │ │ │ ├── report.service.ts │ │ │ ├── rest.service.ts │ │ │ ├── routing.service.ts │ │ │ ├── specification.service.ts │ │ │ ├── system-configuration.service.ts │ │ │ ├── system.service.ts │ │ │ ├── test-suite.service.ts │ │ │ ├── test.service.ts │ │ │ ├── trigger.service.ts │ │ │ ├── user-guide.service.ts │ │ │ ├── user.service.ts │ │ │ └── web-socket.service.ts │ │ └── types │ │ │ ├── actor-configuration.ts │ │ │ ├── actor.ts │ │ │ ├── actual-user-info.ts │ │ │ ├── alert.type.ts │ │ │ ├── api-key-actor-info.ts │ │ │ ├── api-key-info.ts │ │ │ ├── api-key-specification-info.ts │ │ │ ├── api-key-system-info.ts │ │ │ ├── api-key-test-case-info.ts │ │ │ ├── api-key-test-suite-info.ts │ │ │ ├── app-configuration-properties.ts │ │ │ ├── binary-metadata.ts │ │ │ ├── breadcrumb-change.ts │ │ │ ├── breadcrumb-label-request.ts │ │ │ ├── breadcrumb-label-response.ts │ │ │ ├── breadcrumb-type.ts │ │ │ ├── certificate-settings.ts │ │ │ ├── community-keystore.ts │ │ │ ├── community-report-settings.ts │ │ │ ├── community-resource-search-result.ts │ │ │ ├── community-resource-upload-result.ts │ │ │ ├── community-resource.ts │ │ │ ├── community-rich-content.ts │ │ │ ├── community.ts │ │ │ ├── configuration-property-visibility.ts │ │ │ ├── configuration.ts │ │ │ ├── conformance-certificate-settings.ts │ │ │ ├── conformance-ids.ts │ │ │ ├── conformance-overview-certificate-settings.ts │ │ │ ├── conformance-result-full-list.ts │ │ │ ├── conformance-result-full-with-test-suites.ts │ │ │ ├── conformance-result-full.ts │ │ │ ├── conformance-result-test-suite.ts │ │ │ ├── conformance-snapshot-list.ts │ │ │ ├── conformance-snapshot.ts │ │ │ ├── conformance-statement-item-info.ts │ │ │ ├── conformance-statement-item.ts │ │ │ ├── conformance-statement-result.ts │ │ │ ├── conformance-statement-with-results.ts │ │ │ ├── conformance-statement.ts │ │ │ ├── conformance-status-item.ts │ │ │ ├── conformance-status-summary.ts │ │ │ ├── conformance-status.ts │ │ │ ├── custom-property-preset-value.type.ts │ │ │ ├── custom-property-submission-info.type.ts │ │ │ ├── custom-property.type.ts │ │ │ ├── domain-parameter.ts │ │ │ ├── domain-specification.ts │ │ │ ├── domain.ts │ │ │ ├── email-settings.ts │ │ │ ├── endpoint-parameter.ts │ │ │ ├── endpoint.ts │ │ │ ├── entity-with-id.ts │ │ │ ├── error-data-array-buffer.type.ts │ │ │ ├── error-data.type.ts │ │ │ ├── error-description.ts │ │ │ ├── error-template.ts │ │ │ ├── export-report-event.ts │ │ │ ├── export-settings.ts │ │ │ ├── field-info.ts │ │ │ ├── file-data.type.ts │ │ │ ├── file-param.type.ts │ │ │ ├── file-reference.ts │ │ │ ├── filter-state.ts │ │ │ ├── http-request-config.type.ts │ │ │ ├── id-label.ts │ │ │ ├── import-item.ts │ │ │ ├── import-preview.ts │ │ │ ├── import-settings.ts │ │ │ ├── invalid-form-control-config.ts │ │ │ ├── key-value.ts │ │ │ ├── label-config.type.ts │ │ │ ├── landing-page.ts │ │ │ ├── legal-notice.ts │ │ │ ├── loading-status.type.ts │ │ │ ├── location-data.ts │ │ │ ├── log-level.ts │ │ │ ├── login-event-info.type.ts │ │ │ ├── login-result-action-needed.ts │ │ │ ├── login-result-ok.ts │ │ │ ├── logout-event-info.type.ts │ │ │ ├── menu-item.enum.ts │ │ │ ├── number-set.ts │ │ │ ├── organisation-parameter-value.ts │ │ │ ├── organisation-parameter.ts │ │ │ ├── organisation-search-result.type.ts │ │ │ ├── organisation.type.ts │ │ │ ├── page-change.ts │ │ │ ├── parameter-preset-value.ts │ │ │ ├── parameter-reference.ts │ │ │ ├── parameter.ts │ │ │ ├── self-registration-model.type.ts │ │ │ ├── self-registration-option.type.ts │ │ │ ├── self-registration-template.type.ts │ │ │ ├── service-call-result.ts │ │ │ ├── specification-group.ts │ │ │ ├── specification-reference-info.ts │ │ │ ├── specification.ts │ │ │ ├── statement-parameter-minimal.ts │ │ │ ├── status-holder.ts │ │ │ ├── sutconfiguration.ts │ │ │ ├── system-configuration-endpoint.ts │ │ │ ├── system-configuration.ts │ │ │ ├── system-parameter.ts │ │ │ ├── system.ts │ │ │ ├── table-column-data.type.ts │ │ │ ├── table-column-definition.type.ts │ │ │ ├── test-case-definition.ts │ │ │ ├── test-case-tag.ts │ │ │ ├── test-case.ts │ │ │ ├── test-interaction-data.ts │ │ │ ├── test-result-data.ts │ │ │ ├── test-result-for-display.ts │ │ │ ├── test-result-report.ts │ │ │ ├── test-result-search-criteria.ts │ │ │ ├── test-result.ts │ │ │ ├── test-step-result.ts │ │ │ ├── test-suite-with-test-cases.ts │ │ │ ├── test-suite.ts │ │ │ ├── theme.ts │ │ │ ├── trigger-data-item.ts │ │ │ ├── trigger-fire-expression.ts │ │ │ ├── trigger-info.ts │ │ │ ├── trigger.ts │ │ │ ├── typed-label-config.type.ts │ │ │ ├── user-account.ts │ │ │ ├── user-interaction-input-request.ts │ │ │ ├── user-interaction-input.ts │ │ │ ├── user-interaction-instruction.ts │ │ │ ├── user-interaction-request.ts │ │ │ ├── user-interaction.ts │ │ │ ├── user.type.ts │ │ │ ├── validation-state.ts │ │ │ ├── value-label.ts │ │ │ ├── value-type.ts │ │ │ ├── value-with-metadata.ts │ │ │ └── web-socket-message.ts │ ├── assets │ │ └── .gitkeep │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── proxy.conf.mjs │ ├── styles │ │ ├── css │ │ │ └── fonts │ │ │ │ └── opensans │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOUuhp.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOUuhp.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OUuhp.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOUehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOUuhp.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOUuhp.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOXehpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff │ │ │ │ ├── mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 │ │ │ │ ├── mem8YaGs126MiZpBA-UFUZ0bbck.woff │ │ │ │ ├── mem8YaGs126MiZpBA-UFUZ0bbck.woff2 │ │ │ │ ├── mem8YaGs126MiZpBA-UFVZ0b.woff │ │ │ │ ├── mem8YaGs126MiZpBA-UFVZ0b.woff2 │ │ │ │ ├── mem8YaGs126MiZpBA-UFVp0bbck.woff │ │ │ │ ├── mem8YaGs126MiZpBA-UFVp0bbck.woff2 │ │ │ │ ├── mem8YaGs126MiZpBA-UFW50bbck.woff │ │ │ │ ├── mem8YaGs126MiZpBA-UFW50bbck.woff2 │ │ │ │ ├── mem8YaGs126MiZpBA-UFWJ0bbck.woff │ │ │ │ ├── mem8YaGs126MiZpBA-UFWJ0bbck.woff2 │ │ │ │ ├── mem8YaGs126MiZpBA-UFWZ0bbck.woff │ │ │ │ ├── mem8YaGs126MiZpBA-UFWZ0bbck.woff2 │ │ │ │ ├── mem8YaGs126MiZpBA-UFWp0bbck.woff │ │ │ │ ├── mem8YaGs126MiZpBA-UFWp0bbck.woff2 │ │ │ │ └── stylesheet.css │ │ ├── less │ │ │ ├── _common.less │ │ │ ├── app.less │ │ │ ├── components │ │ │ │ ├── common.less │ │ │ │ ├── editor.less │ │ │ │ └── sequence-diagram.less │ │ │ └── override.less │ │ ├── styles.less │ │ └── styles.scss │ └── test.ts │ ├── test.js │ ├── tsconfig.app.json │ ├── tsconfig.json │ ├── tsconfig.spec.json │ └── tslint.json ├── gitb-validator-tdl ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── gitb │ └── vs │ └── tdl │ ├── Context.java │ ├── ErrorCode.java │ ├── ErrorLevel.java │ ├── ExternalConfiguration.java │ ├── InputStreamSource.java │ ├── ValidationReport.java │ ├── Validator.java │ ├── rules │ ├── AbstractCheck.java │ ├── CheckExternalActorReferences.java │ ├── CheckFileSyntax.java │ ├── CheckIDUniqueness.java │ ├── CheckTestCaseCount.java │ ├── CheckTestCaseGroups.java │ ├── CheckTestCaseReferences.java │ ├── CheckTestCaseStructures.java │ ├── CheckTestSuiteActors.java │ ├── CheckTestSuiteCount.java │ ├── CheckTestSuiteDocumentation.java │ ├── CheckTestSuiteEndpointParameters.java │ ├── RuleFactory.java │ ├── ScriptletAsTestCase.java │ ├── TestCaseObserver.java │ ├── TestCaseSection.java │ └── testcase │ │ ├── AbstractTestCaseObserver.java │ │ ├── CheckDataTypes.java │ │ ├── CheckEncodings.java │ │ ├── CheckExpressions.java │ │ ├── CheckHandlers.java │ │ ├── CheckScriptletCallStacks.java │ │ ├── CheckScriptletParameters.java │ │ ├── CheckScriptletReferences.java │ │ ├── CheckTestCaseActors.java │ │ ├── CheckTestCaseActorsInSteps.java │ │ ├── CheckTestCaseDocumentation.java │ │ ├── CheckTestCaseImports.java │ │ ├── CheckTransactions.java │ │ ├── CheckUniqueSetsOfValues.java │ │ ├── CheckUserInteractionOptions.java │ │ └── expression │ │ ├── VariableResolver.java │ │ └── VariableResolverProvider.java │ └── util │ ├── ContainerTypeInfo.java │ ├── ResourceResolver.java │ └── Utils.java ├── gitb-xml-resources ├── pom.xml └── src │ └── main │ └── resources │ └── schema │ └── export │ ├── gitb_export.xjb │ ├── gitb_export.xsd │ ├── migrations │ └── from_1.9.1_to_1.10.0.xslt │ └── versions │ ├── gitb_export_1.10.0.xsd │ ├── gitb_export_1.15.1.xsd │ ├── gitb_export_1.9.0.xsd │ └── gitb_export_1.9.1.xsd └── pom.xml /etc/docker/gitb-mysql/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mysql:8.4.2 2 | 3 | ENV MYSQL_ROOT_PASSWORD=root 4 | ENV MYSQL_DATABASE=gitb 5 | ENV MYSQL_USER=gitb 6 | ENV MYSQL_PASSWORD=gitb 7 | 8 | COPY gitb-entrypoint.sh /usr/local/bin 9 | COPY gitb.cnf /etc/mysql/conf.d 10 | RUN chmod +x /usr/local/bin/gitb-entrypoint.sh 11 | RUN chmod 644 /etc/mysql/conf.d/gitb.cnf 12 | 13 | ENTRYPOINT ["/usr/local/bin/gitb-entrypoint.sh"] 14 | CMD ["mysqld"] -------------------------------------------------------------------------------- /etc/docker/gitb-mysql/gitb-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [[ -n "$MYSQL_ROOT_PASSWORD_FILE" ]] ; then 3 | unset MYSQL_ROOT_PASSWORD 4 | fi 5 | if [[ -n "$MYSQL_PASSWORD_FILE" ]] ; then 6 | unset MYSQL_PASSWORD 7 | fi 8 | exec /usr/local/bin/docker-entrypoint.sh "$@" -------------------------------------------------------------------------------- /etc/docker/gitb-mysql/gitb.cnf: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | 3 | lower_case_table_names=1 4 | max_allowed_packet=10485760 5 | mysql_native_password=ON -------------------------------------------------------------------------------- /etc/docker/gitb-redis/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM redis:7.2.7 2 | -------------------------------------------------------------------------------- /etc/docker/gitb-srv/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:21-jre-jammy 2 | 3 | RUN mkdir /itbsrv 4 | COPY itbsrv.war /itbsrv 5 | RUN sh -c 'touch /itbsrv/itbsrv.war' 6 | ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Xmx2048m","-jar","/itbsrv/itbsrv.war"] 7 | EXPOSE 8080-8090 8 | EXPOSE 80 9 | WORKDIR /itbsrv -------------------------------------------------------------------------------- /etc/k8s/helm/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /etc/k8s/helm/templates/mysql-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "mysql.serviceName" . | quote }} 5 | spec: 6 | type: {{ .Values.mysql.serviceType | default "ClusterIP" | quote }} 7 | ports: 8 | - name: {{ include "mysql.servicePort" . | quote }} 9 | port: {{ include "mysql.servicePort" . }} 10 | targetPort: {{ include "mysql.port" . }} 11 | selector: 12 | app.kubernetes.io/name: {{ include "mysql.name" . }} 13 | -------------------------------------------------------------------------------- /etc/k8s/helm/templates/redis-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "redis.serviceName" . | quote }} 5 | spec: 6 | type: {{ .Values.redis.serviceType | default "ClusterIP" | quote }} 7 | ports: 8 | - name: {{ include "redis.servicePort" . | quote }} 9 | port: {{ include "redis.servicePort" . }} 10 | targetPort: {{ include "redis.port" . }} 11 | selector: 12 | app.kubernetes.io/name: {{ include "redis.name" . }} 13 | -------------------------------------------------------------------------------- /etc/k8s/helm/templates/srv-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "srv.serviceName" . | quote }} 5 | spec: 6 | type: {{ .Values.srv.serviceType | default "ClusterIP" | quote }} 7 | ports: 8 | - name: {{ include "srv.servicePort" . | quote }} 9 | port: {{ include "srv.servicePort" . }} 10 | targetPort: {{ include "srv.port" . }} 11 | selector: 12 | app.kubernetes.io/name: {{ include "srv.name" . }} 13 | -------------------------------------------------------------------------------- /etc/k8s/manifests/01-db-pvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: "itb-dbdata" 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: "100Mi" 11 | -------------------------------------------------------------------------------- /etc/k8s/manifests/02-repo-pvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: "itb-repo" 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: "100Mi" 11 | -------------------------------------------------------------------------------- /etc/k8s/manifests/04-mysql-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: "itb-mysql" 5 | spec: 6 | type: "ClusterIP" 7 | ports: 8 | - name: "3306" 9 | port: 3306 10 | targetPort: 3306 11 | selector: 12 | app.kubernetes.io/name: itb-mysql 13 | -------------------------------------------------------------------------------- /etc/k8s/manifests/06-redis-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: "itb-redis" 5 | spec: 6 | type: "ClusterIP" 7 | ports: 8 | - name: "6379" 9 | port: 6379 10 | targetPort: 6379 11 | selector: 12 | app.kubernetes.io/name: itb-redis 13 | -------------------------------------------------------------------------------- /etc/k8s/manifests/08-srv-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: "itb-srv" 5 | spec: 6 | type: "ClusterIP" 7 | ports: 8 | - name: "8080" 9 | port: 8080 10 | targetPort: 8080 11 | selector: 12 | app.kubernetes.io/name: itb-srv 13 | -------------------------------------------------------------------------------- /etc/k8s/manifests/10-ui-service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: "itb-ui" 5 | spec: 6 | type: "ClusterIP" 7 | ports: 8 | - name: "9000" 9 | port: 9000 10 | targetPort: 9000 11 | - name: "9090" 12 | port: 9090 13 | targetPort: 9090 14 | selector: 15 | app.kubernetes.io/name: itb-ui 16 | -------------------------------------------------------------------------------- /gitb-core/src/main/java/com/gitb/InputHolder.java: -------------------------------------------------------------------------------- 1 | package com.gitb; 2 | 3 | import com.gitb.types.DataType; 4 | 5 | /** 6 | * Classes that can be assigned inputs. 7 | */ 8 | public interface InputHolder { 9 | 10 | void addInput(String inputName, DataType inputData); 11 | boolean hasInput(String inputName); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-core/src/main/java/com/gitb/StepHandler.java: -------------------------------------------------------------------------------- 1 | package com.gitb; 2 | 3 | public interface StepHandler { 4 | 5 | /** 6 | * Whether this handler is a remote one (as opposed to embedded). 7 | * 8 | * @return true for a remote handler. 9 | */ 10 | default boolean isRemote() { 11 | return false; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-core/src/main/java/com/gitb/messaging/callback/CallbackData.java: -------------------------------------------------------------------------------- 1 | package com.gitb.messaging.callback; 2 | 3 | import com.gitb.messaging.Message; 4 | 5 | public record CallbackData(Message inputs, CallbackType type) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-core/src/main/java/com/gitb/messaging/callback/CallbackType.java: -------------------------------------------------------------------------------- 1 | package com.gitb.messaging.callback; 2 | 3 | public enum CallbackType { 4 | 5 | REMOTE, HTTP, SOAP 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-core/src/main/java/com/gitb/messaging/callback/SessionCallbackData.java: -------------------------------------------------------------------------------- 1 | package com.gitb.messaging.callback; 2 | 3 | public record SessionCallbackData(String sessionId, String callId, String systemApiKey, CallbackData data) { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-core/src/main/resources/core-module.properties: -------------------------------------------------------------------------------- 1 | gitb.test-case-repository = remote-repository 2 | #gitb.test-case-repository = local-repository 3 | gitb.version = @engineVersion@ 4 | gitb.buildTimestamp = @timestamp@ -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/interaction/ConnectionClosedEvent.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.interaction; 2 | 3 | import com.gitb.engine.commands.common.SessionCommand; 4 | 5 | public class ConnectionClosedEvent extends SessionCommand { 6 | public ConnectionClosedEvent(String sessionId) { 7 | super(sessionId); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/interaction/InitiatePreliminaryCommand.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.interaction; 2 | 3 | import com.gitb.engine.commands.common.TestCaseCommand; 4 | 5 | /** 6 | * Created by serbay on 9/4/14. 7 | */ 8 | public class InitiatePreliminaryCommand extends TestCaseCommand { 9 | 10 | public InitiatePreliminaryCommand(String testCaseId) { 11 | super(testCaseId); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/interaction/SendUpdateCommand.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.interaction; 2 | 3 | public class SendUpdateCommand { 4 | 5 | public SendUpdateCommand() { 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/interaction/StartCommand.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.interaction; 2 | 3 | import com.gitb.engine.commands.common.SessionCommand; 4 | 5 | /** 6 | * Created by serbay on 9/4/14. 7 | */ 8 | public class StartCommand extends SessionCommand { 9 | public StartCommand(String sessionId) { 10 | super(sessionId); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/interaction/UnexpectedErrorCommand.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.interaction; 2 | 3 | import com.gitb.engine.commands.common.SessionCommand; 4 | 5 | /** 6 | * Created by serbay on 9/4/14. 7 | */ 8 | public class UnexpectedErrorCommand extends SessionCommand { 9 | 10 | public UnexpectedErrorCommand(String sessionId) { 11 | super(sessionId); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/interaction/UpdateSentEvent.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.interaction; 2 | 3 | public class UpdateSentEvent { 4 | private final String eventUuid; 5 | 6 | public UpdateSentEvent(String eventUuid) { 7 | this.eventUuid = eventUuid; 8 | } 9 | 10 | public String getEventUuid() { 11 | return eventUuid; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/messaging/TimeoutExpired.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.messaging; 2 | 3 | public class TimeoutExpired { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/session/CreateCommand.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.session; 2 | 3 | import com.gitb.engine.commands.common.SessionCommand; 4 | 5 | /** 6 | * Created by serbay on 9/4/14. 7 | */ 8 | public class CreateCommand extends SessionCommand { 9 | public CreateCommand(String sessionId) { 10 | super(sessionId); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/commands/session/DestroyCommand.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.commands.session; 2 | 3 | import com.gitb.engine.commands.common.SessionCommand; 4 | 5 | /** 6 | * Created by serbay on 9/4/14. 7 | */ 8 | public class DestroyCommand extends SessionCommand { 9 | public DestroyCommand(String sessionId) { 10 | super(sessionId); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/MessagingHandler.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface MessagingHandler { 11 | String name(); 12 | boolean singleton() default false; 13 | } 14 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/layer/application/soap/AttachmentInfo.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.layer.application.soap; 2 | 3 | import com.gitb.types.DataType; 4 | 5 | public record AttachmentInfo(String name, String contentType, DataType content, boolean isText) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/model/ISender.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.model; 2 | 3 | import com.gitb.core.Configuration; 4 | import com.gitb.messaging.Message; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by serbay. 10 | */ 11 | public interface ISender { 12 | public Message send(List configurations, Message message) throws Exception; 13 | public void onEnd() throws Exception; 14 | } 15 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/model/tcp/ITransactionListener.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.model.tcp; 2 | 3 | import com.gitb.engine.messaging.handlers.model.IListener; 4 | 5 | /** 6 | * Created by serbay. 7 | */ 8 | public interface ITransactionListener extends IListener { 9 | } 10 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/model/tcp/ITransactionReceiver.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.model.tcp; 2 | 3 | import com.gitb.engine.messaging.handlers.model.IReceiver; 4 | 5 | import java.net.Socket; 6 | 7 | /** 8 | * Created by serbay on 9/25/14. 9 | */ 10 | public interface ITransactionReceiver extends IReceiver { 11 | public void onReceive(Socket socket); 12 | } 13 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/model/tcp/ITransactionSender.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.model.tcp; 2 | 3 | import com.gitb.engine.messaging.handlers.model.ISender; 4 | 5 | /** 6 | * Created by serbay on 9/25/14. 7 | */ 8 | public interface ITransactionSender extends ISender { 9 | } 10 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/model/udp/IDatagramListener.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.model.udp; 2 | 3 | import com.gitb.engine.messaging.handlers.model.IListener; 4 | 5 | /** 6 | * Created by serbay. 7 | */ 8 | public interface IDatagramListener extends IListener { 9 | } 10 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/model/udp/IDatagramSender.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.model.udp; 2 | 3 | import com.gitb.engine.messaging.handlers.model.ISender; 4 | 5 | /** 6 | * Created by serbay. 7 | */ 8 | public interface IDatagramSender extends ISender { 9 | } 10 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/messaging/handlers/server/IMessagingServerWorker.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.messaging.handlers.server; 2 | 3 | import java.io.IOException; 4 | 5 | /** 6 | * Created by serbay. 7 | */ 8 | public interface IMessagingServerWorker { 9 | public void start() throws IOException; 10 | public void stop(); 11 | public boolean isActive(); 12 | public int getPort(); 13 | public NetworkingSessionManager getNetworkingSessionManager(); 14 | } 15 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/processors/IProcessor.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.processors; 2 | 3 | import com.gitb.tr.TestStepReportType; 4 | 5 | /** 6 | * Created by tuncay on 9/2/14. 7 | */ 8 | public interface IProcessor { 9 | public TestStepReportType process(Object object) throws Exception; 10 | } 11 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/remote/processing/ProcessingClientHandler.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.remote.processing; 2 | 3 | import com.gitb.engine.TestEngineConfiguration; 4 | import com.gitb.engine.remote.BaseAddressingHandler; 5 | 6 | public class ProcessingClientHandler extends BaseAddressingHandler { 7 | 8 | @Override 9 | protected String callbackURL() { 10 | return TestEngineConfiguration.PROCESSING_CALLBACK_URL; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/remote/validation/ValidationClientHandler.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.remote.validation; 2 | 3 | import com.gitb.engine.TestEngineConfiguration; 4 | import com.gitb.engine.remote.BaseAddressingHandler; 5 | 6 | public class ValidationClientHandler extends BaseAddressingHandler { 7 | 8 | @Override 9 | protected String callbackURL() { 10 | return TestEngineConfiguration.VALIDATION_CALLBACK_URL; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /gitb-engine/src/main/java/com/gitb/engine/utils/StepContext.java: -------------------------------------------------------------------------------- 1 | package com.gitb.engine.utils; 2 | 3 | import com.gitb.tdl.Sequence; 4 | 5 | public record StepContext(Boolean parentStopOnError, Boolean parentStopOnChildError) { 6 | 7 | public static StepContext from(Sequence parentStep) { 8 | return new StepContext(parentStep.isStopOnError(), parentStep.isStopOnChildError()); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-engine/src/main/resources/application.conf: -------------------------------------------------------------------------------- 1 | blocking-processor-dispatcher { 2 | type=PinnedDispatcher 3 | executor=thread-pool-executor 4 | } 5 | blocking-io-dispatcher { 6 | type = Dispatcher 7 | executor = "thread-pool-executor" 8 | thread-pool-executor { 9 | fixed-pool-size = 32 10 | } 11 | throughput = 1 12 | } -------------------------------------------------------------------------------- /gitb-engine/src/main/resources/messaging/keystore/gitb-engine.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-engine/src/main/resources/messaging/keystore/gitb-engine.jks -------------------------------------------------------------------------------- /gitb-lib/src/main/java/com/gitb/utils/BindingUtils.java: -------------------------------------------------------------------------------- 1 | package com.gitb.utils; 2 | 3 | import com.gitb.tdl.Binding; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by serbay on 9/30/14. 9 | */ 10 | public class BindingUtils { 11 | public static boolean isNameBinding(List bindings){ 12 | for(Binding input:bindings) 13 | if(input.getName() == null) 14 | return false; 15 | return true; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /gitb-reports/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /gitb-reports/README.md: -------------------------------------------------------------------------------- 1 | # GITB report module 2 | 3 | This module contains the templates for the PDF reports used in GITB. This module 4 | also includes DTO objects as well as supporting resources (e.g. images). 5 | 6 | When adapting templates or creating new ones the best approach is to do this via the `ReportGeneratorTest` unit test for 7 | which you can provide a temporary directory to work with and preview produced reports. See the unit test's comments on how 8 | to do this. -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeMono/FreeMono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeMono/FreeMono.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeMono/FreeMonoBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeMono/FreeMonoBold.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeMono/FreeMonoBoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeMono/FreeMonoBoldOblique.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeMono/FreeMonoOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeMono/FreeMonoOblique.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeSans/FreeSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeSans/FreeSans.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeSans/FreeSansBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeSans/FreeSansBold.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeSans/FreeSansBoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeSans/FreeSansBoldOblique.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/fonts/FreeSans/FreeSansOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/fonts/FreeSans/FreeSansOblique.ttf -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/reports/TAR.ftl: -------------------------------------------------------------------------------- 1 | <#import "fragments/commonStyles.ftl" as commonStyles> 2 | <#import "fragments/testStepReport.ftl" as testStepReport> 3 | 4 | 5 | 9 | 10 | 11 |
${title}
12 | <@testStepReport.printStep .data_model "report" /> 13 | 14 | -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/reports/TestCaseDocumentationPreview.ftl: -------------------------------------------------------------------------------- 1 | <#import "fragments/commonStyles.ftl" as commonStyles> 2 | 3 | 4 | 7 | 8 | 9 |
Test case documentation
10 |
11 | ${documentation} 12 |
13 | 14 | -------------------------------------------------------------------------------- /gitb-reports/src/main/resources/reports/images/demo-badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/main/resources/reports/images/demo-badge.png -------------------------------------------------------------------------------- /gitb-reports/src/test/resources/TC1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/test/resources/TC1.png -------------------------------------------------------------------------------- /gitb-reports/src/test/resources/TC2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/test/resources/TC2.png -------------------------------------------------------------------------------- /gitb-reports/src/test/resources/TC3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-reports/src/test/resources/TC3.png -------------------------------------------------------------------------------- /gitb-testbed-service/src/main/java/com/gitb/tbs/Application.java: -------------------------------------------------------------------------------- 1 | package com.gitb.tbs; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Application { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Application.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-testbed-service/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # The context path of the application. 2 | server.servlet.context-path=/itbsrv 3 | # 4 | # Multipart file upload configuration properties. 5 | # 6 | spring.servlet.multipart.max-request-size=50MB 7 | spring.servlet.multipart.max-file-size=5MB 8 | spring.servlet.multipart.file-size-threshold=0B 9 | # Disable log banner 10 | spring.main.banner-mode=off -------------------------------------------------------------------------------- /gitb-testbed-service/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _______ ____ _ 2 | |_ _|__ __| _ \ | | 3 | | | | | | |_) | _ __ ___ __ _ __| |_ _ 4 | | | | | | _ < | '__/ _ \/ _` |/ _` | | | | 5 | _| |_ | | | |_) | | | | __/ (_| | (_| | |_| | 6 | |_____| |_| |____/ |_| \___|\__,_|\__,_|\__, | 7 | __/ | 8 | |___/ -------------------------------------------------------------------------------- /gitb-ui/app/Filters.scala: -------------------------------------------------------------------------------- 1 | import filters._ 2 | import javax.inject.Inject 3 | import org.pac4j.play.filters.SecurityFilter 4 | import play.api.http.DefaultHttpFilters 5 | 6 | class Filters @Inject() ( 7 | cors: CorsFilter, 8 | error: ErrorFilter, 9 | timeout: TimeoutFilter, 10 | securityFilter: SecurityFilter, 11 | auth: AuthenticationFilter, 12 | headerFilter: HeaderFilter 13 | ) extends DefaultHttpFilters(securityFilter, auth, cors, error, timeout, headerFilter) 14 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/ConformanceStatementCreatedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class ConformanceStatementCreatedEvent(override val communityId: Long, val systemId: Long, val actorId: Long) extends TriggerEvent(communityId = communityId, TriggerEventType.ConformanceStatementCreated) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/ConformanceStatementSucceededEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class ConformanceStatementSucceededEvent(override val communityId: Long, val systemId: Long, val actorId: Long) extends TriggerEvent(communityId = communityId, TriggerEventType.ConformanceStatementSucceeded) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/ConformanceStatementUpdatedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class ConformanceStatementUpdatedEvent(override val communityId: Long, val systemId: Long, val actorId: Long) extends TriggerEvent(communityId = communityId, TriggerEventType.ConformanceStatementUpdated) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/OrganisationCreatedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class OrganisationCreatedEvent(override val communityId: Long, val organisationId: Long) extends TriggerEvent(communityId = communityId, TriggerEventType.OrganisationCreated) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/OrganisationUpdatedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class OrganisationUpdatedEvent(override val communityId: Long, val organisationId: Long) extends TriggerEvent(communityId = communityId, TriggerEventType.OrganisationUpdated) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/SystemCreatedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class SystemCreatedEvent(override val communityId: Long, val systemId: Long) extends TriggerEvent(communityId = communityId, TriggerEventType.SystemCreated) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/SystemUpdatedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class SystemUpdatedEvent(override val communityId: Long, val systemId: Long) extends TriggerEvent(communityId = communityId, TriggerEventType.SystemUpdated) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/TestSessionFailedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class TestSessionFailedEvent(override val communityId: Long, val sessionId: String) extends TriggerEvent(communityId = communityId, TriggerEventType.TestSessionFailed) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/TestSessionStartedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class TestSessionStartedEvent(override val communityId: Long, val sessionId: String) extends TriggerEvent(communityId = communityId, TriggerEventType.TestSessionStarted) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/TestSessionSucceededEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType 4 | 5 | class TestSessionSucceededEvent(override val communityId: Long, val sessionId: String) extends TriggerEvent(communityId = communityId, TriggerEventType.TestSessionSucceeded) { 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/TriggerEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events 2 | 3 | import models.Enums.TriggerEventType.TriggerEventType 4 | 5 | abstract class TriggerEvent(val communityId: Long, val eventType: TriggerEventType) {} -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/sessions/PrepareTestSessionsEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events.sessions 2 | 3 | import models.TestSessionLaunchData 4 | 5 | case class PrepareTestSessionsEvent(launchData: TestSessionLaunchData) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/sessions/ProcessNextTestSessionEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events.sessions 2 | 3 | case class ProcessNextTestSessionEvent() 4 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/sessions/TerminateAllSessionsEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events.sessions 2 | 3 | case class TerminateAllSessionsEvent(communityId: Option[Long], organisationId: Option[Long], systemId: Option[Long]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/sessions/TerminateSessionsEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events.sessions 2 | 3 | case class TerminateSessionsEvent(organisationId: Long, testSessions: Set[String]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/sessions/TestSessionCompletedEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events.sessions 2 | 3 | case class TestSessionCompletedEvent(testSession: String) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/actors/events/sessions/TestSessionConfiguredEvent.scala: -------------------------------------------------------------------------------- 1 | package actors.events.sessions 2 | 3 | import com.gitb.tbs.ConfigurationCompleteRequest 4 | 5 | case class TestSessionConfiguredEvent(event: ConfigurationCompleteRequest) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/controllers/dto/ExportDemoCertificateInfo.scala: -------------------------------------------------------------------------------- 1 | package controllers.dto 2 | 3 | import models.CommunityReportSettings 4 | 5 | import java.nio.file.Path 6 | 7 | case class ExportDemoCertificateInfo(reportSettings: CommunityReportSettings, stylesheetPath: Option[Path], jsSettings: String, reportPath: Path, paramMap: Option[Map[String, Seq[String]]]) 8 | -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/AutomationApiException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class AutomationApiException(errorCode: Int, msg: String) extends Exception(msg: String) { 4 | def getCode: Int = { 5 | errorCode 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/InvalidAuthorizationException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class InvalidAuthorizationException(error:Int, msg:String) extends Exception(msg:String){ 4 | def getError: Int = { 5 | return error 6 | } 7 | } -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/InvalidRequestException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class InvalidRequestException(error:Int, msg:String) extends Exception(msg:String){ 4 | def getError: Int = { 5 | return error 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/InvalidTokenException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class InvalidTokenException(error:Int, msg:String) extends Exception(msg:String){ 4 | def getError: Int = { 5 | return error 6 | } 7 | } -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/JsonValidationException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class JsonValidationException(msg: String) extends Exception(msg: String) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/MissingRequiredParameterException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class MissingRequiredParameterException(parameterName: String, message: String) extends IllegalStateException(message) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/NotFoundException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class NotFoundException(error:Int, msg:String) extends Exception(msg:String){ 4 | def getError: Int = { 5 | return error 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/ServiceCallException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class ServiceCallException(message: String, 4 | cause: Option[Throwable], 5 | responseCode: Option[Int], 6 | responseContentType: Option[String], 7 | responseBody: Option[String]) extends Exception(message, cause.orNull) 8 | -------------------------------------------------------------------------------- /gitb-ui/app/exceptions/UnauthorizedAccessException.scala: -------------------------------------------------------------------------------- 1 | package exceptions 2 | 3 | case class UnauthorizedAccessException(msg: String) extends Exception(msg:String){ 4 | } -------------------------------------------------------------------------------- /gitb-ui/app/hooks/BeforeStartHook.scala: -------------------------------------------------------------------------------- 1 | package hooks 2 | 3 | import config.Configurations 4 | import org.slf4j.LoggerFactory 5 | 6 | import javax.inject.Singleton 7 | 8 | @Singleton 9 | class BeforeStartHook { 10 | 11 | private def logger = LoggerFactory.getLogger(this.getClass) 12 | 13 | // Load application configurations before the applications starts 14 | Configurations.loadConfigurations() 15 | logger.info("Application has been configured") 16 | 17 | } 18 | -------------------------------------------------------------------------------- /gitb-ui/app/managers/breadcrumb/BreadcrumbLabelRequest.scala: -------------------------------------------------------------------------------- 1 | package managers.breadcrumb 2 | 3 | case class BreadcrumbLabelRequest( 4 | userId: Long, 5 | domain: Option[Long], 6 | specification: Option[Long], 7 | specificationGroup: Option[Long], 8 | actor: Option[Long], 9 | community: Option[Long], 10 | organisation: Option[Long], 11 | system: Option[Long] 12 | ) -------------------------------------------------------------------------------- /gitb-ui/app/managers/breadcrumb/BreadcrumbLabelResponse.scala: -------------------------------------------------------------------------------- 1 | package managers.breadcrumb 2 | 3 | case class BreadcrumbLabelResponse( 4 | domain: Option[String], 5 | specificationGroup: Option[String], 6 | specification: Option[String], 7 | actor: Option[String], 8 | community: Option[String], 9 | organisation: Option[String], 10 | system: Option[String] 11 | ) 12 | -------------------------------------------------------------------------------- /gitb-ui/app/managers/export/IdGenerator.scala: -------------------------------------------------------------------------------- 1 | package managers.`export` 2 | 3 | class IdGenerator(initialIdSequenceValue: Int = 0) { 4 | 5 | private var idSequence: Int = initialIdSequenceValue 6 | 7 | def reset(newValue: Int): Int = { 8 | idSequence = newValue 9 | idSequence 10 | } 11 | 12 | def current(): Int = { 13 | idSequence 14 | } 15 | 16 | def next(): Int = { 17 | idSequence += 1 18 | idSequence 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /gitb-ui/app/managers/export/ImportSettings.scala: -------------------------------------------------------------------------------- 1 | package managers.export 2 | 3 | import java.nio.file.Path 4 | 5 | class ImportSettings { 6 | 7 | var encryptionKey: Option[String] = None 8 | var dataFilePath: Option[Path] = None 9 | var shortNameReplacement: Option[String] = None 10 | var fullNameReplacement: Option[String] = None 11 | 12 | } 13 | -------------------------------------------------------------------------------- /gitb-ui/app/managers/export/SystemSettingsExportInfo.scala: -------------------------------------------------------------------------------- 1 | package managers.`export` 2 | 3 | import com.gitb.xml.`export`.Settings 4 | 5 | case class SystemSettingsExportInfo( 6 | latestSequenceId: Int, 7 | exportedSettings: Settings, 8 | ) {} -------------------------------------------------------------------------------- /gitb-ui/app/managers/testsuite/TestSuitePaths.scala: -------------------------------------------------------------------------------- 1 | package managers.testsuite 2 | 3 | import java.io.File 4 | 5 | case class TestSuitePaths(testSuiteFolder: File, testSuiteDefinitionPath: Option[String], testCasePaths: Map[String, String]) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/managers/testsuite/TestSuiteSaveResult.scala: -------------------------------------------------------------------------------- 1 | package managers.testsuite 2 | 3 | import models.TestSuites 4 | 5 | case class TestSuiteSaveResult( 6 | testSuite: TestSuites, 7 | updatedTestCases: Map[String, (Long, Boolean)], 8 | deletedTestCaseNames: List[String], 9 | pathInfo: TestSuitePaths, 10 | isLinked: Boolean = false 11 | ) 12 | -------------------------------------------------------------------------------- /gitb-ui/app/models/BadgeInfo.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | object BadgeInfo { 4 | 5 | def noBadges(): BadgeInfo = { 6 | BadgeInfo(Badges.noBadges(), Badges.noBadges()) 7 | } 8 | 9 | } 10 | 11 | case class BadgeInfo(forWeb: Badges, forReport: Badges) 12 | -------------------------------------------------------------------------------- /gitb-ui/app/models/BadgeStatus.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class BadgeStatus(success: Option[String], failure: Option[String], other: Option[String]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/Badges.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | object Badges { 4 | 5 | def noBadges(): Badges = { 6 | Badges(hasSuccess = false, hasFailure = false, hasOther = false, None, None, None) 7 | } 8 | 9 | } 10 | 11 | case class Badges( 12 | hasSuccess: Boolean, hasFailure: Boolean, hasOther: Boolean, 13 | success: Option[NamedFile], failure: Option[NamedFile], other: Option[NamedFile] 14 | ) 15 | -------------------------------------------------------------------------------- /gitb-ui/app/models/CommunityLabels.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class CommunityLabels(community: Long, labelType: Short, singularForm: String, pluralForm: String, fixedCase: Boolean) -------------------------------------------------------------------------------- /gitb-ui/app/models/CommunityReportSettings.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class CommunityReportSettings(reportType: Short, signPdfs: Boolean, customPdfs: Boolean, customPdfsWithCustomXml: Boolean, customPdfService: Option[String], community: Long) -------------------------------------------------------------------------------- /gitb-ui/app/models/CommunityResources.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class CommunityResources(id: Long, name: String, description: Option[String], community: Long) { 4 | 5 | def withName(newName: String): CommunityResources = { 6 | CommunityResources(this.id, newName, this.description, this.community) 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/app/models/ConformanceOverviewCertificateMessage.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class ConformanceOverviewCertificateMessage(id: Long, messageType: Short, message: String, domain: Option[Long], group: Option[Long], specification: Option[Long], actor: Option[Long], community: Long) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/ConformanceResult.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import java.sql.Timestamp 4 | 5 | /** 6 | * Created by simatosc. 7 | */ 8 | case class ConformanceResult(id: Long, sut: Long, spec: Long, actor: Long, testsuite: Long, testcase: Long, result: String, outputMessage: Option[String], testsession: Option[String], updateTime: Option[Timestamp]) { 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/app/models/Domain.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class Domain(id: Long, shortname:String, fullname:String, description:Option[String], reportMetadata: Option[String], apiKey: String) { 4 | 5 | def withApiKey(newApiKey: String): Domain = { 6 | Domain(id, shortname, fullname, description, reportMetadata, newApiKey) 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /gitb-ui/app/models/DomainParameter.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | /** 4 | * Created by simatosc. 5 | */ 6 | case class DomainParameter(id: Long, name: String, desc: Option[String], kind: String, value: Option[String], inTests: Boolean, contentType: Option[String], domain: Long) { 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/app/models/FileInfo.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import java.io.File 4 | 5 | class FileInfo (var key: String, var name: String, var contentType: Option[String], var file: File) {} 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/NamedFile.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import java.io.File 4 | 5 | case class NamedFile(file: File, name: String, identifier: Option[String] = None) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/Options.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class Options( 4 | id: Long, 5 | sname: String, 6 | fname: String, 7 | description:Option[String], 8 | actor:Long 9 | ) -------------------------------------------------------------------------------- /gitb-ui/app/models/OrganisationCreationDbInfo.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | class OrganisationCreationDbInfo(var organisationId:Long, var systems: Option[List[SystemCreationDbInfo]]) { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-ui/app/models/OrganisationParameterValues.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class OrganisationParameterValues(organisation: Long, parameter: Long, value: String, contentType: Option[String]) { 4 | 5 | def withOrgId(orgId: Long) = { 6 | OrganisationParameterValues(orgId, parameter, value, contentType) 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /gitb-ui/app/models/ProcessedArchive.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import java.sql.Timestamp 4 | 5 | case class ProcessedArchive(id: Long, hash: String, processTime: Timestamp) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/SelfRegTemplate.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | class SelfRegTemplate (_id: Long, _name: String) { 4 | 5 | var id: Long = _id 6 | var name: String = _name 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/app/models/SessionFolderInfo.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import java.nio.file.Path 4 | 5 | case class SessionFolderInfo(path: Path, archived: Boolean) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/SpecificationGroups.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class SpecificationGroups(id: Long, shortname:String, fullname:String, description:Option[String], reportMetadata: Option[String], displayOrder: Short, apiKey: String, domain:Long) { 4 | 5 | def withApiKey(newApiKey: String): SpecificationGroups = { 6 | SpecificationGroups(id, shortname, fullname, description, reportMetadata, displayOrder, newApiKey, domain) 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/app/models/StatementParameterMinimal.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class StatementParameterMinimal(id: Long, name: String, testKey: String, kind: String) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/SystemConfigurationEndpoint.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | class SystemConfigurationEndpoint(_endpoint: Endpoints, _endpointParameters: Option[List[SystemConfigurationParameter]]) { 4 | var endpoint: Endpoints = _endpoint 5 | var endpointParameters: Option[List[SystemConfigurationParameter]] = _endpointParameters 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/app/models/SystemConfigurations.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class SystemConfigurations(name: String, parameter: Option[String], description: Option[String]) { 4 | } 5 | 6 | case class SystemConfigurationsWithEnvironment(config: SystemConfigurations, defaultSetting: Boolean, environmentSetting: Boolean) { 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/app/models/SystemCreationDbInfo.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | class SystemCreationDbInfo(var systemId: Long, var linkedActorIds : Option[List[Long]]) { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-ui/app/models/SystemParameterValues.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class SystemParameterValues(system: Long, parameter: Long, value: String, contentType: Option[String]) { 4 | 5 | def withSystemId(systemId: Long) = { 6 | SystemParameterValues(systemId, parameter, value, contentType) 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /gitb-ui/app/models/TestArtifactMetadata.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | class TestArtifactMetadata( 4 | var shortName: String, 5 | var fullName: String, 6 | var description: Option[String], 7 | var documentation: Option[String] 8 | ) { 9 | var testCases: Map[String, TestArtifactMetadata] = _ 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/app/models/TestCaseDeploymentAction.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | class TestCaseDeploymentAction( 4 | var identifier: String, 5 | var updateDefinition: Option[Boolean], 6 | var resetTestHistory: Option[Boolean] 7 | ) { 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/app/models/TestCaseTag.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class TestCaseTag(name: String, description: Option[String], foreground: Option[String], background: Option[String]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/TestInteraction.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import java.sql.Timestamp 4 | 5 | case class TestInteraction(sessionId: String, stepId: String, admin: Boolean, createTime: Timestamp, tpl:String) -------------------------------------------------------------------------------- /gitb-ui/app/models/TestResultDefinition.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class TestResultDefinition(sessionId: String, tpl:String) -------------------------------------------------------------------------------- /gitb-ui/app/models/TestStepResult.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | /** 4 | * Created by senan on 05.12.2014. 5 | */ 6 | case class TestStepResult (sessionId:String, stepId:String, result:Short, path:String) -------------------------------------------------------------------------------- /gitb-ui/app/models/TestStepResultInfo.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | class TestStepResultInfo(var result:Short, var path:Option[String]) -------------------------------------------------------------------------------- /gitb-ui/app/models/TestSuiteUploadTestCase.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | import models.Enums.TestCaseUploadMatchType.TestCaseUploadMatchType 4 | 5 | class TestSuiteUploadTestCase( 6 | val identifier: String, 7 | val name: String, 8 | val matchType: TestCaseUploadMatchType, 9 | var updateMetadata: Boolean = false, 10 | var resetTestHistory: Boolean = false 11 | ) {} 12 | -------------------------------------------------------------------------------- /gitb-ui/app/models/Token.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | 4 | case class Token(access_token:String) -------------------------------------------------------------------------------- /gitb-ui/app/models/Transaction.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class Transaction( 4 | sname: String, 5 | fname: String, 6 | description:Option[String], 7 | domain:Long 8 | ){ 9 | def withDomainId(domain:Long) = { 10 | Transaction(this.sname, this.fname, this.description, domain) 11 | } 12 | } -------------------------------------------------------------------------------- /gitb-ui/app/models/TriggerData.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class TriggerData(dataType: Short, dataId: Long, trigger: Long) { 4 | 5 | def withTrigger(trigger: Long): TriggerData = { 6 | TriggerData(this.dataType, this.dataId, trigger) 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /gitb-ui/app/models/TriggerFireExpression.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class TriggerFireExpression(id: Long, expression: String, expressionType: Short, notMatch: Boolean, trigger: Long) { 4 | 5 | def withTrigger(trigger: Long): TriggerFireExpression = { 6 | TriggerFireExpression(this.id, this.expression, this.expressionType, this.notMatch, trigger) 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /gitb-ui/app/models/Triggers.scala: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | case class Triggers(id: Long, name: String, description: Option[String], url: String, eventType: Short, serviceType: Short, operation: Option[String], active: Boolean, latestResultOk: Option[Boolean], latestResultOutput: Option[String], community: Long) 4 | 5 | class Trigger(var trigger: Triggers, var data: Option[List[TriggerData]], var fireExpressions: Option[List[TriggerFireExpression]]) -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/ApiKeyActorInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class ApiKeyActorInfo(name: String, key: String) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/ApiKeyInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class ApiKeyInfo(organisation: Option[String], systems: List[ApiKeySystemInfo], specifications: List[ApiKeySpecificationInfo]) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/ApiKeySpecificationInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class ApiKeySpecificationInfo(name: String, actors: List[ApiKeyActorInfo], testSuites: List[ApiKeyTestSuiteInfo]) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/ApiKeySystemInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class ApiKeySystemInfo(id: Long, name: String, key: String) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/ApiKeyTestCaseInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class ApiKeyTestCaseInfo(name: String, key: String) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/ApiKeyTestSuiteInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class ApiKeyTestSuiteInfo (name: String, key: String, testcases: List[ApiKeyTestCaseInfo]) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/ConfigurationRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class ConfigurationRequest( 4 | domainProperties: List[DomainParameterInfo], 5 | organisationProperties: List[PartyConfiguration], 6 | systemProperties: List[PartyConfiguration], 7 | statementProperties: List[StatementConfiguration] 8 | ) 9 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/CreateOrganisationRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class CreateOrganisationRequest(shortName: String, 4 | fullName: String, 5 | apiKey: Option[String], 6 | communityApiKey: String) { 7 | } -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/DomainParameterInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | object DomainParameterInfo { 4 | 5 | def apply(parameterKey: String, domainApiKey: Option[String]): DomainParameterInfo = { 6 | new DomainParameterInfo(KeyValue(parameterKey, None), None, None, domainApiKey) 7 | } 8 | 9 | } 10 | 11 | case class DomainParameterInfo(parameterInfo: KeyValue, description: Option[Option[String]], inTests: Option[Boolean], domainApiKey: Option[String]) 12 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/InputMapping.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | import com.gitb.core.AnyContent 4 | 5 | case class InputMapping(testSuite: List[String], testCase: List[String], input: AnyContent) {} 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/InputMappingContent.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | import com.gitb.core.AnyContent 4 | import models.Enums.InputMappingMatchType.InputMappingMatchType 5 | 6 | class InputMappingContent(var input: AnyContent, var matchType: InputMappingMatchType) {} 7 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/KeyValue.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class KeyValue(key: String, value: Option[String]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/KeyValueRequired.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class KeyValueRequired(key: String, value: String) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/OrganisationIdsForApi.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class OrganisationIdsForApi(organisationId: Long, communityId: Long, domainId: Option[Long], apiEnabled: Boolean) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/PartyConfiguration.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class PartyConfiguration(partyKey: String, properties: List[KeyValue]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/SpecificationActorApiKeys.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | class SpecificationActorApiKeys { 4 | 5 | var specificationName: String = _ 6 | var specificationApiKey: String = _ 7 | var actors: Option[List[KeyValueRequired]] = None 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/StatementConfiguration.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class StatementConfiguration(system: String, actor: String, properties: List[KeyValue]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/StatementIds.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class StatementIds(organisationId: Long, systemId: Long, actorId: Long, communityId: Long, snapshotId: Option[Long]) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSessionLaunchInfo.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class TestSessionLaunchInfo(testSuiteIdentifier: String, testCaseIdentifier: String, testSessionIdentifier: String) {} 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSessionLaunchRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class TestSessionLaunchRequest( 4 | organisation: String, 5 | system: Option[String], 6 | actor: Option[String], 7 | testSuite: List[String], 8 | testCase: List[String], 9 | inputMapping: List[InputMapping], 10 | forceSequentialExecution: Boolean 11 | ) {} 12 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSessionStatus.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | import java.sql.Timestamp 4 | 5 | case class TestSessionStatus(sessionId: String, startTime: Timestamp, endTime: Option[Timestamp], result: String, outputMessage: Option[String], logs: Option[List[String]], report: Option[String]) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSuiteLinkRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class TestSuiteLinkRequest( 4 | testSuite: String, 5 | specifications: List[TestSuiteLinkRequestSpecification] 6 | ) -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSuiteLinkRequestSpecification.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class TestSuiteLinkRequestSpecification( 4 | identifier: String, 5 | update: Boolean 6 | ) -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSuiteUndeployRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class TestSuiteUndeployRequest( 4 | specification: Option[String], 5 | testSuite: String, 6 | sharedTestSuite: Boolean 7 | ) -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSuiteUnlinkRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class TestSuiteUnlinkRequest( 4 | testSuite: String, 5 | specifications: List[String] 6 | ) -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/TestSuiteUploadResultWithApiKeys.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | import models.TestSuiteUploadResult 4 | 5 | class TestSuiteUploadResultWithApiKeys extends TestSuiteUploadResult { 6 | 7 | var testSuiteIdentifier: Option[String] = None 8 | var testCaseIdentifiers: Option[List[String]] = None 9 | var specifications: Option[List[SpecificationActorApiKeys]] = None 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/UpdateOrganisationRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class UpdateOrganisationRequest(organisationApiKey: String, 4 | shortName: Option[String], 5 | fullName: Option[String], 6 | communityApiKey: String) { 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/app/models/automation/UpdateSystemRequest.scala: -------------------------------------------------------------------------------- 1 | package models.automation 2 | 3 | case class UpdateSystemRequest(systemApiKey: String, 4 | shortName: Option[String], 5 | fullName: Option[String], 6 | description: Option[Option[String]], 7 | version: Option[Option[String]], 8 | communityApiKey: String) { 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/app/models/prerequisites/WithPrerequisite.scala: -------------------------------------------------------------------------------- 1 | package models.prerequisites 2 | 3 | trait WithPrerequisite { 4 | 5 | def prerequisiteKey(): Option[String] 6 | def prerequisiteValue(): Option[String] 7 | def currentKey(): String 8 | def currentValue(): Option[String] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshot.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | import java.sql.Timestamp 4 | 5 | case class ConformanceSnapshot(id: Long, label: String, publicLabel: Option[String], snapshotTime: Timestamp, apiKey: String, isPublic: Boolean, community: Long) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotActor.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotActor( 4 | id: Long, 5 | actorId: String, 6 | name: String, 7 | description: Option[String], 8 | reportMetadata: Option[String], 9 | visible: Boolean, 10 | apiKey: String, 11 | snapshotId: Long 12 | ) -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotCertificateMessage.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotCertificateMessage(message: String, snapshotId: Long) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotDomain.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotDomain( 4 | id: Long, 5 | shortname: String, 6 | fullname: String, 7 | description: Option[String], 8 | reportMetadata: Option[String], 9 | snapshotId: Long 10 | ) 11 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotDomainParameter.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotDomainParameter(domainId: Long, paramKey: String, paramValue: String, snapshotId: Long) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotOrganisation.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotOrganisation( 4 | id: Long, 5 | shortname: String, 6 | fullname: String, 7 | apiKey: Option[String], 8 | snapshotId: Long 9 | ) 10 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotOrganisationProperty.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotOrganisationProperty(organisationId: Long, propertyKey: String, propertyValue: String, snapshotId: Long) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotSpecification.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotSpecification( 4 | id: Long, 5 | shortname: String, 6 | fullname: String, 7 | description: Option[String], 8 | reportMetadata: Option[String], 9 | apiKey: String, 10 | displayOrder: Short, 11 | snapshotId: Long 12 | ) 13 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotSpecificationGroup.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotSpecificationGroup( 4 | id: Long, 5 | shortname: String, 6 | fullname: String, 7 | description: Option[String], 8 | reportMetadata: Option[String], 9 | displayOrder: Short, 10 | snapshotId: Long 11 | ) 12 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotSystem.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotSystem( 4 | id: Long, 5 | shortname: String, 6 | fullname: String, 7 | version: Option[String], 8 | description: Option[String], 9 | apiKey: String, 10 | badgeKey: String, 11 | snapshotId: Long 12 | ) -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotSystemProperty.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotSystemProperty(systemId: Long, propertyKey: String, propertyValue: String, snapshotId: Long) 4 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotTestCaseGroup.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotTestCaseGroup( 4 | id: Long, 5 | identifier: String, 6 | name: Option[String], 7 | description: Option[String], 8 | snapshotId: Long 9 | ) 10 | -------------------------------------------------------------------------------- /gitb-ui/app/models/snapshot/ConformanceSnapshotTestSuite.scala: -------------------------------------------------------------------------------- 1 | package models.snapshot 2 | 3 | case class ConformanceSnapshotTestSuite( 4 | id: Long, 5 | shortname: String, 6 | fullname: String, 7 | description: Option[String], 8 | version: String, 9 | identifier: String, 10 | specReference: Option[String], 11 | specDescription: Option[String], 12 | specLink: Option[String], 13 | snapshotId: Long 14 | ) 15 | -------------------------------------------------------------------------------- /gitb-ui/app/models/statement/BadgeListPlaceholderInfo.scala: -------------------------------------------------------------------------------- 1 | package models.statement 2 | 3 | case class BadgeListPlaceholderInfo(placeholder: String, horizontal: Boolean, width: Option[Int]) -------------------------------------------------------------------------------- /gitb-ui/app/models/statement/BadgePlaceholderInfo.scala: -------------------------------------------------------------------------------- 1 | package models.statement 2 | 3 | case class BadgePlaceholderInfo(placeholder: String, index: Option[Short], width: Option[Int]) -------------------------------------------------------------------------------- /gitb-ui/app/models/statement/ConformanceItemTreeData.scala: -------------------------------------------------------------------------------- 1 | package models.statement 2 | 3 | import models.ConformanceStatement 4 | 5 | case class ConformanceItemTreeData(statements: Iterable[ConformanceStatement], actorIdsToDisplay: Option[Set[Long]]) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/models/statement/ResultHolder.scala: -------------------------------------------------------------------------------- 1 | package models.statement 2 | 3 | trait ResultHolder { 4 | 5 | def resultStatus(): String 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/app/models/theme/ThemeFiles.scala: -------------------------------------------------------------------------------- 1 | package models.theme 2 | 3 | import models.NamedFile 4 | 5 | case class ThemeFiles(headerLogo: Option[NamedFile], footerLogo: Option[NamedFile], faviconFile: Option[NamedFile]) 6 | -------------------------------------------------------------------------------- /gitb-ui/app/persistence/cache/Keys.scala: -------------------------------------------------------------------------------- 1 | package persistence.cache 2 | 3 | object Keys { 4 | val HASH_SEPERATOR = ":" 5 | 6 | //REDIS HASH extensions for OAUTH tokens 7 | val ACCESS_TOKEN_HASH_KEY = "auth" 8 | val REFRESH_TOKEN_HASH_KEY = "rauth" 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/app/utils/signature/TimestampingException.java: -------------------------------------------------------------------------------- 1 | package utils.signature; 2 | 3 | /** 4 | * Exception to signal an issue with obtaining a signed timestamp from a TSA server. 5 | */ 6 | public class TimestampingException extends Exception { 7 | 8 | public TimestampingException(String message, Throwable cause) { 9 | super(message, cause); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/conf/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _______ ____ _ 2 | |_ _|__ __| _ \ | | 3 | | | | | | |_) | _ __ ___ __ _ __| |_ _ 4 | | | | | | _ < | '__/ _ \/ _` |/ _` | | | | 5 | _| |_ | | | |_) | | | | __/ (_| | (_| | |_| | 6 | |_____| |_| |____/ |_| \___|\__,_|\__,_|\__, | 7 | __/ | 8 | |___/ -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V101__System_version_in_snapshots.sql: -------------------------------------------------------------------------------- 1 | -- Modify table. 2 | ALTER TABLE `conformancesnapshotsystems` ADD COLUMN `version` varchar(254) COLLATE utf8mb4_bin DEFAULT NULL; 3 | -- Migrate. 4 | UPDATE `conformancesnapshotsystems` SET `version` = (SELECT `version` FROM `systems` WHERE `systems`.`id` = `conformancesnapshotsystems`.`id`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V103__Domain_API_keys.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `domains` ADD COLUMN `api_key` varchar(254); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V105__Domain_API_keys_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `domains` MODIFY `api_key` VARCHAR(255) NOT NULL; 2 | ALTER TABLE `domains` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 3 | CREATE INDEX `dom_idx_api_key` on `domains`(`api_key`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V107__System_API_keys_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `systems` MODIFY `api_key` VARCHAR(254) NOT NULL; 2 | -- Update snapshots 3 | UPDATE `conformancesnapshotsystems` set `api_key` = (select `api_key` from `systems` where `systems`.`id` = `conformancesnapshotsystems`.`id`); 4 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V109__System_API_keys_in_snapshots_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `conformancesnapshotsystems` MODIFY `api_key` VARCHAR(254) NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V10__Add_support_for default_actors_and_actor_ordering.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `actors` ADD COLUMN `is_default` TINYINT; 2 | ALTER TABLE `actors` ADD COLUMN `display_order` SMALLINT; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V112__Delete_stored_default_master_password.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM `systemconfigurations` WHERE `name` = 'master_password' AND `parameter` = '$2a$10$TYBt5RUHTeS8suO8Us2DGO9q/.oO2RdLLTdlIj3zmlPrvXyebVzs6'; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V113__Specification_group_API_keys.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `specificationgroups` ADD COLUMN `api_key` varchar(255); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V115__Specification_group_API_keys_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `specificationgroups` MODIFY `api_key` VARCHAR(255) NOT NULL; 2 | ALTER TABLE `specificationgroups` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 3 | CREATE INDEX `sgroup_idx_api_key` on `specificationgroups`(`api_key`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V11__Default_actor_set_by_default.sql: -------------------------------------------------------------------------------- 1 | UPDATE `actors` set `is_default` = 0 where `is_default` IS NULL; 2 | ALTER TABLE `actors` MODIFY `is_default` TINYINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V12__Add_error_templates.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE errortemplates ( 2 | id BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT, 3 | name VARCHAR(255) NOT NULL, 4 | content LONGTEXT, 5 | default_flag TINYINT DEFAULT 0 NOT NULL, 6 | description LONGTEXT, 7 | community BIGINT NOT NULL 8 | ); 9 | ALTER TABLE organizations ADD error_template BIGINT NULL; 10 | 11 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V14__Add_test_suite_file_name.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `testsuites` ADD COLUMN `file_name` VARCHAR(255); 2 | UPDATE `testsuites` SET `file_name` = `sname`; 3 | ALTER TABLE `testsuites` MODIFY `file_name` VARCHAR(255) NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V15__Add_test_case_order.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `testcases` ADD COLUMN `testsuite_order` SMALLINT; 2 | -- The order can be set to the ID at migration time as this will match their current ordering. 3 | UPDATE `testcases` SET `testsuite_order` = `id`; 4 | ALTER TABLE `testcases` MODIFY `testsuite_order` SMALLINT NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V17__Add_sso_info_to_users.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `users` ADD COLUMN `sso_uid` VARCHAR(254); 2 | ALTER TABLE `users` ADD COLUMN `sso_email` VARCHAR(254); 3 | ALTER TABLE `users` ADD COLUMN `sso_status` TINYINT DEFAULT 1 NOT NULL; 4 | 5 | CREATE INDEX `users_idx_sso_uid` on `users`(`sso_uid`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V18__Self_registration_for_communities.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `selfreg_type` TINYINT DEFAULT 1 NOT NULL; 2 | ALTER TABLE `communities` ADD COLUMN `selfreg_token` VARCHAR(254); 3 | 4 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V19__Public_organisation_templates.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `organizations` ADD COLUMN `template` TINYINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `organizations` ADD COLUMN `template_name` VARCHAR(254); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V22__Convert_blobs_to_mediumblobs.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `configurations` MODIFY `value` MEDIUMBLOB NOT NULL; 2 | ALTER TABLE `conformancecertificates` MODIFY `keystore_file` MEDIUMBLOB; 3 | ALTER TABLE `domainparameters` MODIFY `value` MEDIUMBLOB NOT NULL; 4 | ALTER TABLE `organisationparametervalues` MODIFY `value` MEDIUMBLOB NOT NULL; 5 | ALTER TABLE `systemparametervalues` MODIFY `value` MEDIUMBLOB NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V23__Custom_properties_exportable.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `organisationparameters` ADD COLUMN `in_exports` TINYINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `systemparameters` ADD COLUMN `in_exports` TINYINT DEFAULT 0 NOT NULL; 3 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V24__Update_collation_for_unique_text_columns.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `endpoints` MODIFY `name` varchar(254) NOT NULL COLLATE utf8mb4_bin; 2 | ALTER TABLE `domainparameters` MODIFY `name` varchar(254) NOT NULL COLLATE utf8mb4_bin; 3 | ALTER TABLE `testsuites` MODIFY `sname` varchar(254) NOT NULL COLLATE utf8mb4_bin; 4 | ALTER TABLE `testsuites` MODIFY `version` varchar(254) NOT NULL COLLATE utf8mb4_bin; 5 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V25__Custom_community_labels.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE `communitylabels` ( 2 | `community` BIGINT NOT NULL, 3 | `label_type` TINYINT NOT NULL, 4 | `singular_form` varchar(254) NOT NULL, 5 | `plural_form` varchar(254) NOT NULL, 6 | PRIMARY KEY (`community`, `label_type`) 7 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 8 | ALTER TABLE `communitylabels` ADD CONSTRAINT `cl_fk_com` FOREIGN KEY (`community`) REFERENCES `communities`(`id`); 9 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V26__Custom_community_labels_casing.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communitylabels` ADD COLUMN `fixed_case` TINYINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V27__Add_support_for_hidden_actors.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `actors` ADD COLUMN `is_hidden` TINYINT DEFAULT 0 NOT NULL; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V28__Self_registration_notifications.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `selfreg_notification` TINYINT DEFAULT 0 NOT NULL; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V29__Add_support_for_hidden_specifications.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `specifications` ADD COLUMN `is_hidden` TINYINT DEFAULT 0 NOT NULL; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V2__Adapt_unique_index_for_test_suite.sql: -------------------------------------------------------------------------------- 1 | DROP INDEX `ts_sn_vsn_idx` ON `testsuites`; 2 | CREATE UNIQUE INDEX `ts_sn_vsn_si_idx` ON `testsuites` (`sname`,`version`,`specification`); 3 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V30__Community_descriptions.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `description` TEXT; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V31__Organisation_properties_in_selfreg.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `organisationparameters` ADD COLUMN `in_selfreg` TINYINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V32__Drop_unused_specification_columns.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `specifications` DROP COLUMN `urls`; 2 | ALTER TABLE `specifications` DROP COLUMN `diagram`; 3 | ALTER TABLE `specifications` DROP COLUMN `type`; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V33__Test_suite_and_test_case_documentation.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `testcases` ADD COLUMN `has_documentation` TINYINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `testcases` ADD COLUMN `documentation` LONGTEXT; 3 | ALTER TABLE `testsuites` ADD COLUMN `has_documentation` TINYINT DEFAULT 0 NOT NULL; 4 | ALTER TABLE `testsuites` ADD COLUMN `documentation` LONGTEXT; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V34__Community_selfregistration_restrictions.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `selfreg_restriction` TINYINT DEFAULT 1 NOT NULL; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V35__Remove_unlinked_configurations.sql: -------------------------------------------------------------------------------- 1 | delete from configurations where 2 | concat(`system`, '_', `parameter`, '_', `endpoint`) in (select concat(x1.system, '_', x1.parameter, '_', x1.endpoint) from ( 3 | select distinct c.system, c.parameter, c.endpoint 4 | from configurations c 5 | join endpoints e on c.endpoint = e.id 6 | left join systemimplementsactors sia on sia.sut_id = c.system and sia.actor_id = e.actor 7 | where sia.actor_id is null) x1); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V37__Custom_self_registration_token_help_text.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `selfreg_token_help_text` TEXT; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V3__Link_actors_to_specification.sql: -------------------------------------------------------------------------------- 1 | DROP INDEX `actors_aid_unq_idx` ON `actors`; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V40__Custom_properties_hidden.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `organisationparameters` ADD COLUMN `hidden` TINYINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `systemparameters` ADD COLUMN `hidden` TINYINT DEFAULT 0 NOT NULL; 3 | ALTER TABLE `parameters` ADD COLUMN `hidden` TINYINT DEFAULT 0 NOT NULL; 4 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V41__self_registration_requirements.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `selfreg_force_template` TINYINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `communities` ADD COLUMN `selfreg_force_properties` TINYINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V42__Property_predefined_values.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `organisationparameters` ADD COLUMN `allowed_values` LONGTEXT; 2 | ALTER TABLE `systemparameters` ADD COLUMN `allowed_values` LONGTEXT; 3 | ALTER TABLE `parameters` ADD COLUMN `allowed_values` LONGTEXT; 4 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V44__Certificate_download_by_organisation_users.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `allow_certificate_download` TINYINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V45__Community_permissions.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `allow_system_management` TINYINT DEFAULT 1 NOT NULL; 2 | ALTER TABLE `communities` ADD COLUMN `allow_statement_management` TINYINT DEFAULT 1 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V46__Domain_parameters_not_in_tests.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `domainparameters` ADD COLUMN `in_tests` TINYINT DEFAULT 1 NOT NULL; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V47__Community_permissions_linked_to_tests.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `allow_post_test_org_updates` TINYINT DEFAULT 1 NOT NULL; 2 | ALTER TABLE `communities` ADD COLUMN `allow_post_test_sys_updates` TINYINT DEFAULT 1 NOT NULL; 3 | ALTER TABLE `communities` ADD COLUMN `allow_post_test_stm_updates` TINYINT DEFAULT 1 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V48__Test_session_output.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `testresults` ADD COLUMN `output_message` TEXT AFTER `end_time`; 2 | ALTER TABLE `conformanceresults` ADD COLUMN `output_message` TEXT AFTER `result`; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V49__Hidden_test_suites.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `testsuites` ADD COLUMN `is_hidden` TINYINT DEFAULT 0 NOT NULL; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V4__Add_test_suite_id_to_test_case.sql: -------------------------------------------------------------------------------- 1 | DROP INDEX `tc_sn_vsn_idx` ON `testcases`; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V50__Force_password_change_for_default_users.sql: -------------------------------------------------------------------------------- 1 | UPDATE `users` SET `onetime_password` = 1 WHERE `email` = 'test@test.com' and `password` = '$2a$04$FqO8.xUGvC7yF7P2mHS9XeypSBuHqs20ob6F6junA5NKEXbVSZwS6'; 2 | UPDATE `users` SET `onetime_password` = 1 WHERE `email` = 'admin@test.com' and `password` = '$2a$04$FqO8.xUGvC7yF7P2mHS9XeypSBuHqs20ob6F6junA5NKEXbVSZwS6'; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V52__Enable_secrets_verification.sql: -------------------------------------------------------------------------------- 1 | insert into systemconfigurations(name, description) values('master_password', 'Hash for master password verification'); 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V55__Attachments.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `domainparameters` ADD COLUMN `content_type` varchar(254); 2 | ALTER TABLE `organisationparametervalues` ADD COLUMN `content_type` varchar(254); 3 | ALTER TABLE `systemparametervalues` ADD COLUMN `content_type` varchar(254); 4 | ALTER TABLE `configurations` ADD COLUMN `content_type` varchar(254); 5 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V57__API_keys_for_organisation_and_system.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `organizations` ADD COLUMN `api_key` varchar(254); 2 | ALTER TABLE `systems` ADD COLUMN `api_key` varchar(254); 3 | ALTER TABLE `organizations` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 4 | ALTER TABLE `systems` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 5 | CREATE INDEX `org_idx_api_key` on `organizations`(`api_key`); 6 | CREATE INDEX `sys_idx_api_key` on `systems`(`api_key`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V58__automation_api_option_for_community.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `allow_automation_api` TINYINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V59__API_key_for_actors.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `actors` ADD COLUMN `api_key` varchar(254); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V61__API_key_for_actors_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `actors` MODIFY `api_key` VARCHAR(255) NOT NULL; 2 | ALTER TABLE `actors` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 3 | CREATE INDEX `act_idx_api_key` on `actors`(`api_key`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V62__API_key_for_specifications.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `specifications` ADD COLUMN `api_key` varchar(254); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V64__API_key_for_specifications_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `specifications` MODIFY `api_key` VARCHAR(255) NOT NULL; 2 | ALTER TABLE `specifications` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 3 | CREATE INDEX `spe_idx_api_key` on `specifications`(`api_key`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V65__API_key_for_communities.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `api_key` varchar(254); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V67__API_key_for_commuities_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` MODIFY `api_key` VARCHAR(255) NOT NULL; 2 | ALTER TABLE `communities` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 3 | CREATE INDEX `com_idx_api_key` on `communities`(`api_key`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V68__Trigger_service_types.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `triggers` ADD COLUMN `service_type` tinyint NOT NULL DEFAULT 1; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V69__Statement_parameter_names.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `parameters` ADD COLUMN `test_key` varchar(254); 2 | UPDATE `parameters` set `test_key` = `name` WHERE `test_key` is null; 3 | ALTER TABLE `parameters` MODIFY `test_key` VARCHAR(254) NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V70__Parameter_default_values.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `parameters` ADD COLUMN `default_value` TEXT; 2 | ALTER TABLE `organisationparameters` ADD COLUMN `default_value` TEXT; 3 | ALTER TABLE `systemparameters` ADD COLUMN `default_value` TEXT; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V76__Optional_system_version.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `systems` MODIFY COLUMN `version` varchar(254); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V77__Specification_ordering.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `specifications` ADD COLUMN `display_order` SMALLINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `specificationgroups` ADD COLUMN `display_order` SMALLINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V78__Optional_and_disabled_test_cases.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `testcases` ADD COLUMN `is_optional` SMALLINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `testcases` ADD COLUMN `is_disabled` SMALLINT DEFAULT 0 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V79__Test_case_tags.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `testcases` ADD COLUMN `tags` TEXT; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V80__System_configurations_long_values.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `systemconfigurations` MODIFY `parameter` LONGTEXT; 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V81__Optional_title_in_conformance_certificate.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `conformancecertificates` ADD COLUMN `include_title` TINYINT DEFAULT 1 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V83__Conformance_badges.sql: -------------------------------------------------------------------------------- 1 | -- Badge key for systems. 2 | ALTER TABLE `systems` ADD COLUMN `badge_key` varchar(254); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V87__Snapshot_api_key_not_null.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `conformancesnapshots` MODIFY `api_key` varchar(254) NOT NULL; 2 | ALTER TABLE `conformancesnapshots` ADD CONSTRAINT `unique_api_key` UNIQUE (`api_key`); 3 | CREATE INDEX `conf_snap_idx_api_key` on `conformancesnapshots`(`api_key`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V89__Sandbox_archive_hashes.sql: -------------------------------------------------------------------------------- 1 | -- ProcessedArchives table. 2 | CREATE TABLE `processedarchives` ( 3 | `id` BIGINT NOT NULL AUTO_INCREMENT, 4 | `archive_hash` VARCHAR(254) NOT NULL, 5 | `import_time` TIMESTAMP NOT NULL, 6 | PRIMARY KEY (`id`) 7 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 8 | 9 | ALTER TABLE `processedarchives` ADD CONSTRAINT `unique_archive_hash` UNIQUE (`archive_hash`); -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V8__Add_community_support_email.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE communities ADD COLUMN `support_email` varchar(254); 2 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V90__Optional_conformance_certificate_page_numbers.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `conformancecertificates` ADD COLUMN `include_page_numbers` TINYINT DEFAULT 1 NOT NULL; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V91__Delete_sample_user_accounts.sql: -------------------------------------------------------------------------------- 1 | DELETE FROM `users` WHERE `organization` = 1 and `email` = 'admin@test.com' and `onetime_password` = 1 and `password` = '$2a$04$FqO8.xUGvC7yF7P2mHS9XeypSBuHqs20ob6F6junA5NKEXbVSZwS6'; 2 | UPDATE `users` SET `email` = 'admin@itb' WHERE `organization` = 0 and `email` = 'test@test.com' and `onetime_password` = 1 and `password` = '$2a$04$FqO8.xUGvC7yF7P2mHS9XeypSBuHqs20ob6F6junA5NKEXbVSZwS6'; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V92__Organisation_last_update_timestamp.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `organizations` ADD COLUMN `updated_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V94__Pending_interaction_notifications.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `communities` ADD COLUMN `interaction_notification` TINYINT DEFAULT 0 NOT NULL; 2 | ALTER TABLE `testinteractions` ADD COLUMN `created_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; 3 | -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V96__Public_conformance_snapshots.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `conformancesnapshots` ADD COLUMN `public_label` varchar(254) COLLATE utf8mb4_bin; 2 | ALTER TABLE `conformancesnapshots` ADD COLUMN `is_public` TINYINT DEFAULT 0 NOT NULL; 3 | ALTER TABLE `communities` ADD COLUMN `latest_status_label` varchar(254) COLLATE utf8mb4_bin; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V99__SUT_flag_for_snapshot_actors.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `conformancesnapshotactors` ADD COLUMN `visible` tinyint NOT NULL DEFAULT '0'; -------------------------------------------------------------------------------- /gitb-ui/conf/db/migration/default/V9__Add_support_for_onetime_passwords.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE users ADD COLUMN `onetime_password` TINYINT DEFAULT 0 NOT NULL; 2 | -------------------------------------------------------------------------------- /gitb-ui/project/FrontendCommands.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Frontend build commands. 3 | */ 4 | object FrontendCommands { 5 | val dependencyInstall: String = "npm install --force" 6 | val buildProd: String = "npm run build:prod" 7 | } -------------------------------------------------------------------------------- /gitb-ui/project/build.properties: -------------------------------------------------------------------------------- 1 | template.uuid=688014f0-0585-43e3-a9fa-d62f7d12f1ab 2 | sbt.version=1.10.0 3 | -------------------------------------------------------------------------------- /gitb-ui/public/images/ec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/public/images/ec.png -------------------------------------------------------------------------------- /gitb-ui/public/images/favicon-ec.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/public/images/favicon-ec.gif -------------------------------------------------------------------------------- /gitb-ui/public/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/public/images/favicon.png -------------------------------------------------------------------------------- /gitb-ui/public/images/gitb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/public/images/gitb.png -------------------------------------------------------------------------------- /gitb-ui/ui/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.html] 12 | indent_size = 4 13 | 14 | [*.less] 15 | indent_size = 4 16 | 17 | [*.ts] 18 | quote_type = single 19 | 20 | [*.md] 21 | max_line_length = off 22 | trim_trailing_whitespace = false 23 | -------------------------------------------------------------------------------- /gitb-ui/ui/.nsprc: -------------------------------------------------------------------------------- 1 | { 2 | "1096815": { 3 | "active": true, 4 | "notes": "The patch stated as of TinyMCE v6.8.1+ has been applied." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/e2e/src/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | async navigateTo(): Promise { 5 | return browser.get(browser.baseUrl); 6 | } 7 | 8 | async getTitleText(): Promise { 9 | return element(by.css('app-root .content span')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "../tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "../out-tsc/e2e", 6 | "module": "commonjs", 7 | "target": "es2018", 8 | "types": [ 9 | "jasmine", 10 | "node" 11 | ] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/common/global.ts: -------------------------------------------------------------------------------- 1 | declare var jsRoutes: any 2 | export const ROUTES: any = jsRoutes -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/common/load-status.ts: -------------------------------------------------------------------------------- 1 | import { Constants } from "./constants"; 2 | 3 | export class LoadStatus { 4 | 5 | status: number 6 | 7 | constructor() { 8 | this.status = Constants.STATUS.PENDING 9 | } 10 | 11 | pending() { 12 | this.status = Constants.STATUS.PENDING 13 | } 14 | 15 | finished() { 16 | this.status = Constants.STATUS.FINISHED 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/breadcrumb/breadcrumb-item.ts: -------------------------------------------------------------------------------- 1 | import { BreadcrumbType } from "src/app/types/breadcrumb-type" 2 | 3 | export interface BreadcrumbItem { 4 | 5 | type: BreadcrumbType 6 | action?: Function 7 | 8 | label?: string 9 | typeId?: number|string 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/change-password-form/password-change-data.type.ts: -------------------------------------------------------------------------------- 1 | export interface PasswordChangeData { 2 | 3 | currentPassword?: string 4 | newPassword?: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/checkbox-option-panel/checkbox-option-state.ts: -------------------------------------------------------------------------------- 1 | export interface CheckboxOptionState { 2 | 3 | [key: string]: boolean 4 | 5 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/checkbox-option-panel/checkbox-option.ts: -------------------------------------------------------------------------------- 1 | export interface CheckboxOption { 2 | 3 | key: string 4 | label: string 5 | default: boolean 6 | iconClass?: string 7 | 8 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/code-editor-modal/code-editor-options.ts: -------------------------------------------------------------------------------- 1 | export interface EditorOptions { 2 | 3 | value?: string 4 | readOnly: boolean 5 | lineNumbers: boolean 6 | smartIndent: boolean 7 | electricChars: boolean 8 | copy?: boolean 9 | mode?: string 10 | styleClass?: string 11 | download?: { 12 | fileName: string 13 | mimeType: string 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/code-editor-modal/indicator.ts: -------------------------------------------------------------------------------- 1 | export interface Indicator { 2 | 3 | description?: string 4 | location: { 5 | column: number, 6 | line: number, 7 | name: string, 8 | type: string 9 | } 10 | type: string 11 | 12 | } 13 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/collapsing-icon/collapsing-icon.component.html: -------------------------------------------------------------------------------- 1 | @if (!hidden) { 2 | @if (asDiv) { 3 |
4 | } @else { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/color-picker/color-picker.component.less: -------------------------------------------------------------------------------- 1 | @import '../../../styles/less/_common.less'; 2 | 3 | .input-group.colour-input-group { 4 | flex-wrap: nowrap; 5 | width: 250px; 6 | .form-control { 7 | border-top-right-radius: @border-radius !important; 8 | border-bottom-right-radius: @border-radius !important; 9 | } 10 | } 11 | 12 | .colour-holder-readonly { 13 | cursor: pointer; 14 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/custom-property-filter/custom-property.ts: -------------------------------------------------------------------------------- 1 | import { CustomProperty as BaseCustomProperty } from 'src/app/types/custom-property.type'; 2 | 3 | export interface CustomProperty extends Partial { 4 | 5 | uuid?: number 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/custom-property-form/custom-property-form.component.less: -------------------------------------------------------------------------------- 1 | .filePropertyRow { 2 | display: flex; 3 | align-items: center; 4 | } 5 | .secretField { 6 | display: flex; 7 | flex-grow: 1; 8 | app-secret-input, input { 9 | width: 100%; 10 | margin-left: 10px; 11 | } 12 | } 13 | app-secret-input { 14 | flex-grow: 1; 15 | } 16 | .secretLabelInvalid { 17 | margin-bottom: 1.3rem; 18 | } 19 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/diagram/actor-info.ts: -------------------------------------------------------------------------------- 1 | export interface ActorInfo { 2 | 3 | id: string 4 | name?: string 5 | role?: string 6 | displayOrder?: number 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/diagram/any-content.ts: -------------------------------------------------------------------------------- 1 | export interface AnyContent { 2 | 3 | name?: string 4 | value?: string 5 | valueToUse?: string 6 | embeddingMethod?: 'BASE64'|'STRING'|'URI' 7 | item?: AnyContent[] 8 | mimeType?: string 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/diagram/assertion-report.ts: -------------------------------------------------------------------------------- 1 | export interface AssertionReport { 2 | 3 | type: "info"|"warning"|"error" 4 | value: { 5 | assertionID?: string, 6 | value?: string, 7 | test?: string, 8 | location?: string, 9 | description?: string 10 | } 11 | extractedLocation?: { 12 | type: string, 13 | name: string, 14 | line: number, 15 | column: number 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/diagram/report/test-step-report-sr/test-step-report-sr.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: '[app-test-step-report-sr]', 5 | template: '
' 6 | }) 7 | export class TestStepReportSRComponent { 8 | 9 | @Input() report: any 10 | 11 | constructor() { } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/diagram/report/test-step-report-tar/test-step-report-tar.component.less: -------------------------------------------------------------------------------- 1 | @import "../../../../../styles/less/_common.less"; 2 | 3 | .countersDiv { 4 | margin-top:8px; 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/diagram/sequence-diagram-actor/sequence-diagram-actor.component.html: -------------------------------------------------------------------------------- 1 |
2 | {{actorForDisplay}} 3 |
-------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/form-section/form-section.component.less: -------------------------------------------------------------------------------- 1 | .section-title { 2 | color: var(--itb-separator-title-color); 3 | font-size: 1.125rem; 4 | margin-top: 10px; 5 | margin-bottom: 10px; 6 | font-weight: 500; 7 | line-height: 1.2; 8 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/hidden-icon/hidden-icon.component.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/hidden-icon/hidden-icon.component.less: -------------------------------------------------------------------------------- 1 | i.standalone-icon { 2 | font-size: large; 3 | margin-left:10px; 4 | margin-right:10px; 5 | } 6 | div { 7 | height: 17px; 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/manage-badges/badge-info.ts: -------------------------------------------------------------------------------- 1 | import { FileData } from "src/app/types/file-data.type"; 2 | 3 | export interface BadgeInfo { 4 | 5 | enabled: boolean 6 | file?: FileData 7 | nameToShow?: string 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/multi-select-filter/item-map.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "../../types/entity-with-id"; 2 | 3 | export interface ItemMap { 4 | [key: number]: { selected: boolean, item: T } 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/optional-custom-property-form/optional-custom-property-form-data.type.ts: -------------------------------------------------------------------------------- 1 | import { CustomProperty } from "src/app/types/custom-property.type"; 2 | 3 | export interface OptionalCustomPropertyFormData { 4 | 5 | owner?: number 6 | propertyType: 'organisation'|'system'|'statement' 7 | properties: CustomProperty[] 8 | edit: boolean 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/pending-block/pending-block.component.html: -------------------------------------------------------------------------------- 1 | @if (pending) { 2 | 3 | @if (!pending || !icon) { 4 | 5 | } 6 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/pending-block/pending-block.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-pending-block', 5 | templateUrl: './pending-block.component.html', 6 | styles: '.large { font-size: xx-large; }' 7 | }) 8 | export class PendingBlockComponent { 9 | 10 | @Input() pending = true 11 | @Input() icon = false 12 | @Input() large = false 13 | 14 | constructor() { } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/pending-div/pending-div.component.html: -------------------------------------------------------------------------------- 1 | @if (_pending) { 2 |
3 | } 4 |
5 | 6 |
7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/pending-div/pending-div.component.less: -------------------------------------------------------------------------------- 1 | .spinner { 2 | position: absolute; 3 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/placeholder-selector/placeholder-info.ts: -------------------------------------------------------------------------------- 1 | import { KeyValue } from "src/app/types/key-value"; 2 | 3 | export interface PlaceholderInfo extends KeyValue { 4 | 5 | select?: () => string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/placeholder-selector/placeholder-selector.component.less: -------------------------------------------------------------------------------- 1 | .root { 2 | display: flex; 3 | .buttonContainer { 4 | display: flex; 5 | .button { 6 | display: inline-flex; 7 | } 8 | .help { 9 | display: inline-flex; 10 | align-items: center; 11 | margin-right: 30px; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/prescription-level/prescription-level.component.less: -------------------------------------------------------------------------------- 1 | @import '../../../styles/less/_common.less'; 2 | 3 | .boundary { 4 | display: inline-flex; 5 | align-items: center; 6 | justify-content: center; 7 | color: @gray; 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/prescription-level/prescription-level.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-prescription-level', 5 | templateUrl: './prescription-level.component.html', 6 | styleUrls: [ './prescription-level.component.less' ] 7 | }) 8 | export class PrescriptionLevelComponent { 9 | 10 | @Input() optional? = false 11 | @Input() disabled? = false 12 | 13 | constructor() { } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/result-label/result-label.component.html: -------------------------------------------------------------------------------- 1 | {{dataService.tooltipForTestResult(status).toUpperCase()}} -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/session-log-modal/line-info.ts: -------------------------------------------------------------------------------- 1 | import { LogLevel } from "../../types/log-level"; 2 | 3 | export interface LineInfo { 4 | 5 | text: string 6 | level: LogLevel 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/session-table/session-table.component.less: -------------------------------------------------------------------------------- 1 | @import '../../../styles/less/_common.less'; 2 | 3 | .sessionControls { 4 | margin-bottom: 10px; 5 | display: flex; 6 | .goto-controls { 7 | padding-left: 10px; 8 | margin-left: auto; 9 | } 10 | } 11 | tr.session-table-row { 12 | height: 51px; 13 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/simulated-configuration-display-modal/simulated-configuration-display-modal.component.less: -------------------------------------------------------------------------------- 1 | .modal-body { 2 | padding-top: 7px; 3 | padding-bottom: 7px; 4 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/sort-indicator/sort-indicator.component.html: -------------------------------------------------------------------------------- 1 | @if (sortColumn == columnType) { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/tab-title/tab-title.component.html: -------------------------------------------------------------------------------- 1 | @if (icon) { 2 | {{text}} 3 | } 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/tab-title/tab-title.component.less: -------------------------------------------------------------------------------- 1 | .tabIcon { 2 | margin-right: 10px; 3 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/tags-display/tags-display.component.less: -------------------------------------------------------------------------------- 1 | .rootContainer { 2 | display: flex; 3 | flex-wrap: wrap; 4 | .tagContainer { 5 | &.withMargin { 6 | margin-right: 10px; 7 | } 8 | } 9 | .create-tag-container { 10 | display: flex; 11 | } 12 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/test-filter/filter-update.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "../../types/entity-with-id"; 2 | import { FilterValues } from "./filter-values"; 3 | 4 | export interface FilterUpdate { 5 | 6 | values: FilterValues 7 | applyFilters: boolean 8 | 9 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/test-filter/filter-values.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "../../types/entity-with-id"; 2 | 3 | export interface FilterValues { 4 | 5 | // Active values to take into account when searching. 6 | active: T[], 7 | // Other values matching the active ones' text value that should not be considered when searching. 8 | other: T[] 9 | 10 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/test-filter/object-with-id.ts: -------------------------------------------------------------------------------- 1 | export interface ObjectWithId { 2 | 3 | id: number 4 | 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/test-result-status-display/close-event.ts: -------------------------------------------------------------------------------- 1 | export interface CloseEvent { 2 | 3 | idToSkip?: number 4 | 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/test-status-icons/counters.ts: -------------------------------------------------------------------------------- 1 | export interface Counters { 2 | 3 | completed: number 4 | failed: number 5 | other: number 6 | completedOptional: number 7 | failedOptional: number 8 | otherOptional: number 9 | completedToConsider: number 10 | failedToConsider: number 11 | otherToConsider: number 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/text-filter/text-filter.component.less: -------------------------------------------------------------------------------- 1 | .clickable { 2 | &:hover { 3 | cursor: pointer; 4 | } 5 | } 6 | .faded{ 7 | opacity: 0.5; 8 | } 9 | :host-context(.btn-toolbar)> :host > form > .input-group { 10 | &:not(:first-child) { 11 | margin-left: 5px; 12 | } 13 | } 14 | .input-group { 15 | flex-wrap: nowrap; 16 | } 17 | .input-group-btn > button { 18 | width: 40px; 19 | } 20 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/tooltip/tooltip.component.less: -------------------------------------------------------------------------------- 1 | .withMargin { 2 | margin-left: 10px; 3 | } 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/components/view-badge-button/view-badge-button.component.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/app/components/view-badge-button/view-badge-button.component.less -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/directives/no-auto-complete.directive.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ElementRef, OnInit, Renderer2 } from '@angular/core'; 2 | 3 | @Directive({ 4 | selector: 'input[type=text]' 5 | }) 6 | export class NoAutoCompleteDirective implements OnInit { 7 | 8 | constructor(private renderer: Renderer2, private element: ElementRef) { } 9 | 10 | ngOnInit(): void { 11 | this.renderer.setAttribute(this.element.nativeElement, 'autocomplete', 'off') 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/community-keystore-modal/community-keystore-modal.component.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/app/modals/community-keystore-modal/community-keystore-modal.component.less -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/conformance-certificate-modal/badge-placeholder-info.ts: -------------------------------------------------------------------------------- 1 | export interface BadgePlaceholderInfo { 2 | 3 | placeholder: string 4 | status: string 5 | systemId: number 6 | actorId: number 7 | specificationId: number 8 | snapshotId?: number 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/conformance-snapshots-modal/conformance-snapshots-modal.component.less: -------------------------------------------------------------------------------- 1 | .alert-info { 2 | margin-bottom: 10px; 3 | } 4 | .searchControls { 5 | width: fit-content; 6 | margin-bottom: 10px; 7 | display: flex; 8 | align-items: center; 9 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/contact-support/feedback-type.type.ts: -------------------------------------------------------------------------------- 1 | export interface FeedbackType { 2 | 3 | id: number, 4 | description: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/create-edit-domain-parameter-modal/parameter-form-data.ts: -------------------------------------------------------------------------------- 1 | export interface ParameterFormData { 2 | 3 | initialKind?: string 4 | showUpdateValue: boolean 5 | updateValue: boolean 6 | file?: File 7 | hiddenValue?: string 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/link-shared-test-suite-modal/link-shared-test-suite-modal.component.less: -------------------------------------------------------------------------------- 1 | .section-choice-actions { 2 | margin-top: 15px; 3 | } 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/missing-configuration-modal/missing-configuration-action.ts: -------------------------------------------------------------------------------- 1 | export interface MissingConfigurationAction { 2 | 3 | viewOrganisationProperties: boolean 4 | viewSystemProperties: boolean 5 | viewStatementProperties: boolean 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/missing-configuration-modal/missing-configuration-modal.component.less: -------------------------------------------------------------------------------- 1 | .panel-configuration { 2 | .card:last-child { 3 | margin-bottom: 0px; 4 | } 5 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/preview-badge-modal/preview-badge-modal.component.less: -------------------------------------------------------------------------------- 1 | ::ng-deep { 2 | .badgePreviewContainer { 3 | display: flex; 4 | align-items: center; 5 | justify-content: center; 6 | .badgePreview { 7 | max-width: 100%; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/preview-badge-modal/preview-by-file.ts: -------------------------------------------------------------------------------- 1 | import { BadgeInfo } from "src/app/components/manage-badges/badge-info"; 2 | 3 | export interface PreviewByFile { 4 | 5 | badgeFile: BadgeInfo 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/preview-badge-modal/preview-by-ids.ts: -------------------------------------------------------------------------------- 1 | export interface PreviewByIds { 2 | 3 | systemId: number 4 | actorId: number 5 | snapshotId?: number 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/preview-badge-modal/preview-for-status.ts: -------------------------------------------------------------------------------- 1 | export interface PreviewForStatus { 2 | 3 | specificationId: number 4 | actorId?: number 5 | status: string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/pending-test-suite-upload-choice-test-case.ts: -------------------------------------------------------------------------------- 1 | export interface PendingTestSuiteUploadChoiceTestCase { 2 | 3 | identifier: string 4 | updateDefinition: boolean 5 | resetTestHistory: boolean 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/specification-result.ts: -------------------------------------------------------------------------------- 1 | export interface SpecificationResult { 2 | 3 | specification: number 4 | testSuites: string[] 5 | testCases: string[] 6 | actors: string[] 7 | endpoints: string[] 8 | parameters: string[] 9 | testSuiteSummary?: string 10 | testCaseSummary?: string 11 | actorSummary?: string 12 | endpointSummary?: string 13 | parameterSummary?: string 14 | 15 | } 16 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/test-suite-upload-item-result.ts: -------------------------------------------------------------------------------- 1 | export interface TestSuiteUploadItemResult { 2 | 3 | name: string 4 | type: string 5 | action: string 6 | specification: number 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/test-suite-upload-result-spec.ts: -------------------------------------------------------------------------------- 1 | export interface TestSuiteUploadResultSpec { 2 | 3 | id: number 4 | shared: boolean 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/test-suite-upload-spec-test-cases.ts: -------------------------------------------------------------------------------- 1 | import { TestSuiteUploadTestCase } from "./test-suite-upload-test-case" 2 | 3 | export interface TestSuiteUploadSpecTestCases { 4 | 5 | specification: number 6 | testCases: TestSuiteUploadTestCase[] 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/test-suite-upload-test-case-choice.ts: -------------------------------------------------------------------------------- 1 | import { TestSuiteUploadTestCase } from "./test-suite-upload-test-case" 2 | 3 | export interface TestSuiteUploadTestCaseChoice { 4 | 5 | identifier: string 6 | name: string 7 | updateDefinition: boolean 8 | resetTestHistory: boolean 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/test-suite-upload-test-case.ts: -------------------------------------------------------------------------------- 1 | export interface TestSuiteUploadTestCase { 2 | 3 | identifier: string 4 | name: string 5 | status: number 6 | updateMetadata: boolean 7 | resetTestHistory: boolean 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/validation-report-item.ts: -------------------------------------------------------------------------------- 1 | export interface ValidationReportItem { 2 | 3 | level: "info"|"warning"|"error" 4 | assertionId?: string 5 | description?: string 6 | location?: string 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/modals/test-suite-upload-modal/validation-report.ts: -------------------------------------------------------------------------------- 1 | import { ValidationReportItem } from "./validation-report-item" 2 | 3 | export interface ValidationReport { 4 | 5 | counters: { 6 | infos: number 7 | errors: number 8 | warnings: number 9 | } 10 | result: string 11 | reports: ValidationReportItem[] 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/domain-management/actor/actor-details/endpoint-representation.ts: -------------------------------------------------------------------------------- 1 | export interface EndpointRepresentation { 2 | 3 | id: number 4 | name: string 5 | desc?: string 6 | parameters?: string 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/domain-management/domain/domain-details/domain-details.component.less: -------------------------------------------------------------------------------- 1 | @import '../../../../../../styles/less/_common.less'; 2 | .spec-message-div { 3 | padding: 10px; 4 | background-color: @white; 5 | border: 1px solid @gray-dark-1; 6 | border-radius: @border-radius; 7 | display: flex; 8 | div, span { 9 | opacity: 0.5; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/domain-management/endpoint/endpoint-details/endpoint-data.ts: -------------------------------------------------------------------------------- 1 | import { Endpoint } from "src/app/types/endpoint"; 2 | import { ParameterData } from "./parameter-data"; 3 | 4 | export interface EndpointData extends Endpoint { 5 | 6 | labelledParameters: ParameterData[] 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/domain-management/endpoint/endpoint-details/parameter-data.ts: -------------------------------------------------------------------------------- 1 | import { EndpointParameter } from "src/app/types/endpoint-parameter"; 2 | 3 | export interface ParameterData extends EndpointParameter { 4 | 5 | kindLabel: string 6 | useLabel: boolean 7 | adminOnlyLabel: boolean 8 | notForTestsLabel: boolean 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/domain-management/endpoint/endpoint-form/endpoint-form.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | import { Endpoint } from 'src/app/types/endpoint'; 3 | 4 | @Component({ 5 | selector: 'app-endpoint-form', 6 | templateUrl: './endpoint-form.component.html', 7 | styles: [ 8 | ] 9 | }) 10 | export class EndpointFormComponent { 11 | 12 | @Input() endpoint!: Partial 13 | 14 | constructor() { } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/domain-management/test-suites/test-case-details/test-case-details.component.less: -------------------------------------------------------------------------------- 1 | div.card-body > div.diagramContainer { 2 | min-height: 160px; 3 | margin-bottom: 20px; 4 | } 5 | .tag-container { 6 | display: flex; 7 | } 8 | .editorContainer { 9 | display: flex; 10 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/import/import-item-state-group.ts: -------------------------------------------------------------------------------- 1 | import { ImportItemState } from "./import-item-state"; 2 | 3 | export interface ImportItemStateGroup { 4 | 5 | type: number 6 | typeLabel: string 7 | open: boolean 8 | items: ImportItemState[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/session-dashboard/test-result-for-export.ts: -------------------------------------------------------------------------------- 1 | import { TestResultForDisplay } from "../../../types/test-result-for-display"; 2 | 3 | export interface TestResultForExport extends TestResultForDisplay { 4 | 5 | [key: string]: any 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/system-administration/config-status.ts: -------------------------------------------------------------------------------- 1 | import { EventEmitter } from "@angular/core" 2 | 3 | export interface ConfigStatus { 4 | 5 | pending: boolean 6 | collapsed: boolean 7 | enabled?: boolean 8 | fromDefault?: boolean 9 | fromEnv?: boolean 10 | deferredExpand?: EventEmitter 11 | 12 | } 13 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/system-administration/system-administration-tab.enum.ts: -------------------------------------------------------------------------------- 1 | export enum SystemAdministrationTab { 2 | administrators, 3 | landingPages, 4 | legalNotices, 5 | errorTemplates, 6 | themes 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community-labels/community-labels.component.less: -------------------------------------------------------------------------------- 1 | #labelTable { 2 | td { 3 | vertical-align: middle; 4 | } 5 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community-properties/action-methods.ts: -------------------------------------------------------------------------------- 1 | import { Observable } from "rxjs"; 2 | import { Parameter } from "src/app/types/parameter"; 3 | 4 | export interface ActionMethods { 5 | 6 | create: (parameter: Parameter, communityId: number) => Observable 7 | update: (parameter: Parameter, communityId: number) => Observable 8 | delete: (parameterId: number) => Observable 9 | reload: () => void 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community-reports/community-reports.component.less: -------------------------------------------------------------------------------- 1 | .configsContainer { 2 | margin: 10px; 3 | .configContainer { 4 | margin-top: 10px; 5 | &:first-child { 6 | margin-top: 0px; 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community-reports/community-xml-report-form/preview-config.ts: -------------------------------------------------------------------------------- 1 | import { PreviewOption } from "./preview-option" 2 | 3 | export interface PreviewConfig { 4 | 5 | baseIdValue: string 6 | previewOptions: PreviewOption[][] 7 | reportType: number 8 | previewTitleXml: string 9 | previewFileNameXml: string 10 | previewFileNamePdf: string 11 | 12 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community-reports/community-xml-report-form/preview-option.ts: -------------------------------------------------------------------------------- 1 | export interface PreviewOption { 2 | 3 | label: string 4 | isXml?: boolean 5 | data?: {[key: string]: any} 6 | 7 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community-reports/conformance-overview-message.ts: -------------------------------------------------------------------------------- 1 | export interface ConformanceOverviewMessage { 2 | 3 | id?: number 4 | level: 'all'|'domain'|'group'|'specification' 5 | identifier?: number 6 | message?: string 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community/community-details/community-details.component.less: -------------------------------------------------------------------------------- 1 | @import '../../../../../../styles/less/_common.less'; 2 | 3 | .tabControls { 4 | display: flex; 5 | .searchControls { 6 | display: flex; 7 | flex-wrap: wrap; 8 | } 9 | } 10 | ::ng-deep { 11 | .tb-active, .tb-status, .tb-default { 12 | width: 1px !important; 13 | text-align: center; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/community/community-details/community-tab.enum.ts: -------------------------------------------------------------------------------- 1 | export enum CommunityTab { 2 | organisations, 3 | administrators, 4 | landingPages, 5 | legalNotices, 6 | errorTemplates, 7 | triggers 8 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/organisation/organisation-details/OrganisationTab.ts: -------------------------------------------------------------------------------- 1 | export enum OrganisationTab { 2 | systems, 3 | users, 4 | apiKeys 5 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/organisation/organisation-form/organisation-form-data.ts: -------------------------------------------------------------------------------- 1 | import { Organisation } from "src/app/types/organisation.type"; 2 | 3 | export interface OrganisationFormData extends Organisation { 4 | 5 | otherOrganisations?: number 6 | copyOrganisationParameters: boolean 7 | copySystemParameters: boolean 8 | copyStatementParameters: boolean 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/system/system-form/system-form-data.ts: -------------------------------------------------------------------------------- 1 | import { System } from "src/app/types/system"; 2 | 3 | export interface SystemFormData extends System { 4 | 5 | otherSystems?: number 6 | copySystemParameters: boolean 7 | copyStatementParameters: boolean 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/trigger/trigger-fire-expression-control/trigger-fire-expression-control.component.less: -------------------------------------------------------------------------------- 1 | .form-control { 2 | text-overflow: ellipsis; 3 | } 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/admin/user-management/trigger/trigger-fire-expression-modal/trigger-fire-expression-modal.component.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/app/pages/admin/user-management/trigger/trigger-fire-expression-modal/trigger-fire-expression-modal.component.less -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/index/menu-group/menu-group.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/organisation/conformance-statement/conformance-endpoint.ts: -------------------------------------------------------------------------------- 1 | import { EndpointParameter } from "src/app/types/endpoint-parameter"; 2 | 3 | export interface ConformanceEndpoint { 4 | 5 | id: number 6 | name: string 7 | description?: string 8 | parameters: EndpointParameter[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/organisation/conformance-statement/conformance-statement-tab.ts: -------------------------------------------------------------------------------- 1 | export enum ConformanceStatementTab { 2 | 3 | tests, 4 | configuration 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/organisation/conformance-statement/conformance-test-case-group.ts: -------------------------------------------------------------------------------- 1 | export interface ConformanceTestCaseGroup { 2 | 3 | id: number; 4 | name?: string; 5 | description?: string; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/organisation/conformance-statement/endpoint-representation.ts: -------------------------------------------------------------------------------- 1 | import { EndpointParameter } from "src/app/types/endpoint-parameter"; 2 | 3 | export interface EndpointRepresentation { 4 | 5 | id: number 6 | name: string 7 | description?: string 8 | parameters: EndpointParameter[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/pages/organisation/create-conformance-statement/create-conformance-statement.component.less: -------------------------------------------------------------------------------- 1 | .control-container { 2 | display: flex; 3 | flex-wrap: wrap 4 | } 5 | .no-statements-visible { 6 | margin-top: 15px; 7 | opacity: 0.5; 8 | } 9 | .statement-container { 10 | padding-top: 5px; 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/actor-configuration.ts: -------------------------------------------------------------------------------- 1 | import { Configuration } from "./configuration"; 2 | 3 | export interface ActorConfiguration { 4 | 5 | config: Configuration[] 6 | actor: string 7 | endpoint: string 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/actual-user-info.ts: -------------------------------------------------------------------------------- 1 | import { UserAccount } from "./user-account"; 2 | 3 | export interface ActualUserInfo { 4 | 5 | uid: string 6 | email: string 7 | firstName: string 8 | lastName: string 9 | accounts: UserAccount[] 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/alert.type.ts: -------------------------------------------------------------------------------- 1 | export interface Alert { 2 | 3 | type: string, 4 | msg: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/api-key-actor-info.ts: -------------------------------------------------------------------------------- 1 | export interface ApiKeyActorInfo { 2 | 3 | name: string, 4 | key: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/api-key-info.ts: -------------------------------------------------------------------------------- 1 | import { ApiKeySpecificationInfo } from "./api-key-specification-info"; 2 | import { ApiKeySystemInfo } from "./api-key-system-info"; 3 | 4 | export interface ApiKeyInfo { 5 | 6 | organisation?: string, 7 | systems: ApiKeySystemInfo[], 8 | specifications: ApiKeySpecificationInfo[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/api-key-specification-info.ts: -------------------------------------------------------------------------------- 1 | import { ApiKeyActorInfo } from "./api-key-actor-info"; 2 | import { ApiKeyTestSuiteInfo } from "./api-key-test-suite-info"; 3 | 4 | export interface ApiKeySpecificationInfo { 5 | 6 | name: string, 7 | actors: ApiKeyActorInfo[], 8 | testSuites: ApiKeyTestSuiteInfo[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/api-key-system-info.ts: -------------------------------------------------------------------------------- 1 | export interface ApiKeySystemInfo { 2 | 3 | id: number, 4 | name: string, 5 | key?: string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/api-key-test-case-info.ts: -------------------------------------------------------------------------------- 1 | export interface ApiKeyTestCaseInfo { 2 | 3 | name: string 4 | key: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/api-key-test-suite-info.ts: -------------------------------------------------------------------------------- 1 | import { ApiKeyTestCaseInfo } from "./api-key-test-case-info"; 2 | 3 | export interface ApiKeyTestSuiteInfo { 4 | 5 | name: string, 6 | key: string, 7 | testCases: ApiKeyTestCaseInfo[] 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/binary-metadata.ts: -------------------------------------------------------------------------------- 1 | export interface BinaryMetadata { 2 | 3 | extension: string 4 | mimeType: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/breadcrumb-change.ts: -------------------------------------------------------------------------------- 1 | import { BreadcrumbItem } from "../components/breadcrumb/breadcrumb-item"; 2 | import { BreadcrumbType } from "./breadcrumb-type"; 3 | 4 | export interface BreadcrumbChange { 5 | 6 | type?: BreadcrumbType, 7 | id?: number|string, 8 | label?: string 9 | 10 | breadcrumbs? : BreadcrumbItem[] 11 | 12 | } 13 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/breadcrumb-label-request.ts: -------------------------------------------------------------------------------- 1 | export interface BreadcrumbLabelRequest { 2 | 3 | domain?: number 4 | specification?: number 5 | specificationGroup?: number 6 | actor?: number 7 | community?: number 8 | organisation?: number 9 | system?: number 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/breadcrumb-label-response.ts: -------------------------------------------------------------------------------- 1 | export interface BreadcrumbLabelResponse { 2 | 3 | domain?: string 4 | specification?: string 5 | specificationGroup?: string 6 | actor?: string 7 | community?: string 8 | organisation?: string 9 | system?: string 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/certificate-settings.ts: -------------------------------------------------------------------------------- 1 | export interface CertificateSettings { 2 | 3 | id?: number 4 | title?: string 5 | includeTitle: boolean 6 | includeMessage: boolean 7 | includeTestStatus: boolean 8 | includeTestCases: boolean 9 | includeDetails: boolean 10 | includeSignature: boolean 11 | includePageNumbers: boolean 12 | community: number 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/community-keystore.ts: -------------------------------------------------------------------------------- 1 | export interface CommunityKeystore { 2 | 3 | keystoreType: string 4 | keystorePassword?: string 5 | keyPassword?: string 6 | keystoreFile?: File 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/community-report-settings.ts: -------------------------------------------------------------------------------- 1 | export interface CommunityReportSettings { 2 | 3 | stylesheetExists: boolean 4 | signPdfs: boolean 5 | customPdfs: boolean 6 | customPdfsWithCustomXml: boolean 7 | customPdfService?: string 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/community-resource-search-result.ts: -------------------------------------------------------------------------------- 1 | import { CommunityResource } from "./community-resource" 2 | 3 | export interface CommunityResourceSearchResult { 4 | 5 | data: CommunityResource[], 6 | count: number 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/community-resource-upload-result.ts: -------------------------------------------------------------------------------- 1 | export interface CommunityResourceUploadResult { 2 | 3 | created: number 4 | updated: number 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/community-resource.ts: -------------------------------------------------------------------------------- 1 | export interface CommunityResource { 2 | 3 | id: number 4 | name: string 5 | description?:string 6 | reference: string 7 | community: number 8 | 9 | deletePending?:boolean 10 | downloadPending?:boolean 11 | checked?: boolean 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/community-rich-content.ts: -------------------------------------------------------------------------------- 1 | export interface CommunityRichContent { 2 | 3 | id: number 4 | name: string 5 | description?: string 6 | content?: string 7 | default: boolean 8 | 9 | exists?: boolean 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/configuration-property-visibility.ts: -------------------------------------------------------------------------------- 1 | export interface ConfigurationPropertyVisibility { 2 | 3 | hasProperties: boolean 4 | hasVisibleProperties: boolean 5 | hasMissingProperties: boolean 6 | hasVisibleMissingRequiredProperties: boolean 7 | hasVisibleMissingOptionalProperties: boolean 8 | hasNonVisibleMissingRequiredProperties: boolean 9 | hasNonVisibleMissingOptionalProperties: boolean 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/configuration.ts: -------------------------------------------------------------------------------- 1 | export interface Configuration { 2 | 3 | value: string 4 | name: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-certificate-settings.ts: -------------------------------------------------------------------------------- 1 | import { CertificateSettings } from "./certificate-settings" 2 | 3 | export interface ConformanceCertificateSettings extends CertificateSettings { 4 | 5 | message?: string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-ids.ts: -------------------------------------------------------------------------------- 1 | export interface ConformanceIds { 2 | 3 | systemId: number, 4 | domainId: number, 5 | specificationId: number, 6 | actorId: number 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-result-full-list.ts: -------------------------------------------------------------------------------- 1 | import { ConformanceResultFull } from "./conformance-result-full"; 2 | 3 | export interface ConformanceResultFullList { 4 | 5 | data: ConformanceResultFull[] 6 | count: number 7 | orgParameters?: string[] 8 | sysParameters?: string[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-result-full-with-test-suites.ts: -------------------------------------------------------------------------------- 1 | import { ConformanceTestSuite } from "../pages/organisation/conformance-statement/conformance-test-suite"; 2 | import { ConformanceResultFull } from "./conformance-result-full"; 3 | 4 | export interface ConformanceResultFullWithTestSuites extends ConformanceResultFull { 5 | 6 | testSuites?: ConformanceTestSuite[] 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-result-test-suite.ts: -------------------------------------------------------------------------------- 1 | import { ConformanceStatusItem } from "./conformance-status-item"; 2 | 3 | export interface ConformanceResultTestSuite { 4 | 5 | testSuiteId: number 6 | testSuiteName: string 7 | testCases: ConformanceStatusItem[] 8 | result: string 9 | expanded: boolean 10 | hasOptionalTestCases?: boolean 11 | hasDisabledTestCases?: boolean 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-snapshot-list.ts: -------------------------------------------------------------------------------- 1 | import { ConformanceSnapshot } from "./conformance-snapshot"; 2 | 3 | export interface ConformanceSnapshotList { 4 | 5 | latest?: string 6 | snapshots: ConformanceSnapshot[] 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-snapshot.ts: -------------------------------------------------------------------------------- 1 | export interface ConformanceSnapshot { 2 | 3 | id: number 4 | label: string 5 | publicLabel?: string 6 | snapshotTime: string 7 | hidden?: boolean 8 | apiKey?: string 9 | 10 | actionPending?: boolean 11 | deletePending?: boolean 12 | visible?: boolean 13 | sameLabel?: boolean 14 | latest?: boolean 15 | labelToDisplay?: string 16 | 17 | } 18 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-statement-item-info.ts: -------------------------------------------------------------------------------- 1 | import { ConformanceStatementItem } from "./conformance-statement-item" 2 | 3 | export interface ConformanceStatementItemInfo { 4 | 5 | exists: boolean 6 | items: ConformanceStatementItem[] 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-statement-result.ts: -------------------------------------------------------------------------------- 1 | export interface ConformanceStatementResult { 2 | 3 | updateTime?: string 4 | undefined: number, 5 | failed: number, 6 | completed: number, 7 | undefinedOptional: number, 8 | failedOptional: number, 9 | completedOptional: number, 10 | undefinedToConsider: number, 11 | failedToConsider: number, 12 | completedToConsider: number 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/conformance-status.ts: -------------------------------------------------------------------------------- 1 | import { ConformanceTestSuite } from "../pages/organisation/conformance-statement/conformance-test-suite"; 2 | import { ConformanceStatusSummary } from "./conformance-status-summary"; 3 | 4 | export interface ConformanceStatus { 5 | 6 | summary: ConformanceStatusSummary 7 | testSuites: ConformanceTestSuite[] 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/custom-property-preset-value.type.ts: -------------------------------------------------------------------------------- 1 | export interface CustomPropertyPresetValue { 2 | 3 | value: string 4 | label?: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/custom-property-submission-info.type.ts: -------------------------------------------------------------------------------- 1 | import { FileParam } from "./file-param.type"; 2 | 3 | export interface CustomPropertySubmissionInfo { 4 | 5 | parameterJson: string 6 | files: FileParam[] 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/custom-property.type.ts: -------------------------------------------------------------------------------- 1 | import { FileData } from "./file-data.type"; 2 | import { Parameter } from "./parameter"; 3 | 4 | export interface CustomProperty extends Parameter { 5 | 6 | changeValue?: boolean 7 | showValue?: boolean 8 | file?: FileData 9 | showAsInvalid?: boolean 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/domain-parameter.ts: -------------------------------------------------------------------------------- 1 | export interface DomainParameter { 2 | 3 | id: number 4 | name: string 5 | description?: string 6 | kind: 'HIDDEN'|'BINARY'|'SIMPLE' 7 | kindLabel?: string 8 | inTests: boolean 9 | value?: string 10 | contentType?: string 11 | 12 | valueToShow?: string 13 | selected?: boolean 14 | } 15 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/domain.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "./entity-with-id" 2 | 3 | export interface Domain extends EntityWithId { 4 | 5 | sname: string 6 | fname: string 7 | description?: string 8 | reportMetadata?: string 9 | apiKey?: string 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/endpoint-parameter.ts: -------------------------------------------------------------------------------- 1 | import { CustomProperty } from "./custom-property.type"; 2 | 3 | export interface EndpointParameter extends CustomProperty { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/endpoint.ts: -------------------------------------------------------------------------------- 1 | import { EndpointParameter } from "./endpoint-parameter"; 2 | 3 | export interface Endpoint { 4 | 5 | id: number 6 | name: string 7 | description?: string 8 | actor: number 9 | parameters: EndpointParameter[] 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/entity-with-id.ts: -------------------------------------------------------------------------------- 1 | export interface EntityWithId { 2 | 3 | id: number, 4 | [key: string]: any 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/error-data-array-buffer.type.ts: -------------------------------------------------------------------------------- 1 | export interface ErrorDataArrayBuffer { 2 | 3 | statusText?: string, 4 | data?: ArrayBuffer 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/error-data.type.ts: -------------------------------------------------------------------------------- 1 | import { ErrorDescription } from "./error-description"; 2 | 3 | export interface ErrorData { 4 | 5 | statusText?: string 6 | template?:string 7 | error?: ErrorDescription 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/error-description.ts: -------------------------------------------------------------------------------- 1 | export interface ErrorDescription { 2 | 3 | error_id?: string 4 | error_description?: string 5 | error_code?: string, 6 | error_hint?: string 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/error-template.ts: -------------------------------------------------------------------------------- 1 | import { CommunityRichContent } from "./community-rich-content"; 2 | 3 | export interface ErrorTemplate extends CommunityRichContent { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/export-report-event.ts: -------------------------------------------------------------------------------- 1 | import { ConformanceStatementItem } from "./conformance-statement-item" 2 | 3 | export interface ExportReportEvent { 4 | 5 | statementReport: boolean 6 | item: ConformanceStatementItem 7 | actorId?: number 8 | format: 'xml'|'pdf' 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/field-info.ts: -------------------------------------------------------------------------------- 1 | export interface FieldInfo { 2 | 3 | header: string 4 | field: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/file-data.type.ts: -------------------------------------------------------------------------------- 1 | export interface FileData { 2 | 3 | name: string 4 | size: number 5 | type: string 6 | file?: File 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/file-param.type.ts: -------------------------------------------------------------------------------- 1 | export interface FileParam { 2 | 3 | param: string 4 | data: File 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/file-reference.ts: -------------------------------------------------------------------------------- 1 | export interface FileReference { 2 | 3 | dataAsBytes?: ArrayBuffer 4 | dataAsDataURL?: string 5 | mimeType?: string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/filter-state.ts: -------------------------------------------------------------------------------- 1 | export interface FilterState { 2 | 3 | filters: string[], 4 | names?: {[key: string]: string} 5 | updatePending: boolean, 6 | filterData?: () => {[key: string]: any} 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/id-label.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "./entity-with-id" 2 | 3 | export interface IdLabel extends EntityWithId { 4 | 5 | label: string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/import-item.ts: -------------------------------------------------------------------------------- 1 | export interface ImportItem { 2 | 3 | name?: string 4 | type: number 5 | match: number 6 | target?: string 7 | source?: string 8 | children: ImportItem[] 9 | process: number 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/import-preview.ts: -------------------------------------------------------------------------------- 1 | import { ImportItem } from "./import-item"; 2 | 3 | export interface ImportPreview { 4 | 5 | pendingImportId: string 6 | importItems: ImportItem[] 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/import-settings.ts: -------------------------------------------------------------------------------- 1 | export interface ImportSettings { 2 | 3 | encryptionKey?: string 4 | createNewData?: boolean 5 | deleteUnmatchedData?: boolean 6 | updateMatchingData?: boolean 7 | shortNameReplacement?: string 8 | fullNameReplacement?: string 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/invalid-form-control-config.ts: -------------------------------------------------------------------------------- 1 | export interface InvalidFormControlConfig { 2 | 3 | invalid?: boolean 4 | feedback?: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/key-value.ts: -------------------------------------------------------------------------------- 1 | export interface KeyValue { 2 | 3 | key: string 4 | value: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/label-config.type.ts: -------------------------------------------------------------------------------- 1 | export interface LabelConfig { 2 | 3 | singularForm: string, 4 | pluralForm: string, 5 | fixedCase: boolean 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/landing-page.ts: -------------------------------------------------------------------------------- 1 | import { CommunityRichContent } from "./community-rich-content"; 2 | 3 | export interface LandingPage extends CommunityRichContent { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/legal-notice.ts: -------------------------------------------------------------------------------- 1 | import { CommunityRichContent } from "./community-rich-content"; 2 | 3 | export interface LegalNotice extends CommunityRichContent { 4 | } 5 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/loading-status.type.ts: -------------------------------------------------------------------------------- 1 | export interface LoadingStatus { 2 | 3 | status: number 4 | 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/location-data.ts: -------------------------------------------------------------------------------- 1 | export interface LocationData { 2 | 3 | location?: string 4 | user?: number 5 | userOptional?: boolean 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/log-level.ts: -------------------------------------------------------------------------------- 1 | export enum LogLevel { 2 | 3 | DEBUG, INFO, WARN, ERROR 4 | 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/login-event-info.type.ts: -------------------------------------------------------------------------------- 1 | export interface LoginEventInfo { 2 | 3 | userId: number, 4 | tokens: any, 5 | path: string, 6 | remember: boolean 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/login-result-action-needed.ts: -------------------------------------------------------------------------------- 1 | export interface LoginResultActionNeeded { 2 | 3 | onetime?: boolean 4 | weakPassword?: boolean 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/login-result-ok.ts: -------------------------------------------------------------------------------- 1 | export interface LoginResultOk { 2 | user_id: number 3 | path?: string 4 | access_token: string 5 | token_type: string 6 | expires_in: number 7 | registered: boolean 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/logout-event-info.type.ts: -------------------------------------------------------------------------------- 1 | export interface LogoutEventInfo { 2 | 3 | full: boolean, 4 | fromExpiry?: boolean 5 | keepLoginOption?: boolean 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/menu-item.enum.ts: -------------------------------------------------------------------------------- 1 | export enum MenuItem { 2 | 3 | login, 4 | home, 5 | myProfile, 6 | changePassword, 7 | conformanceDashboard, 8 | sessionDashboard, 9 | domainManagement, 10 | communityManagement, 11 | dataExport, 12 | dataImport, 13 | myConformanceStatements, 14 | myTestSessions, 15 | myOrganisation, 16 | systemAdministration 17 | 18 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/number-set.ts: -------------------------------------------------------------------------------- 1 | export interface NumberSet { 2 | [key: number]: boolean 3 | } 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/organisation-parameter-value.ts: -------------------------------------------------------------------------------- 1 | export interface OrganisationParameterValue { 2 | } 3 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/organisation-parameter.ts: -------------------------------------------------------------------------------- 1 | import { CustomProperty } from "./custom-property.type"; 2 | 3 | export interface OrganisationParameter extends CustomProperty { 4 | 5 | selected?: boolean 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/organisation-search-result.type.ts: -------------------------------------------------------------------------------- 1 | import { Organisation } from "./organisation.type"; 2 | 3 | export interface OrganisationSearchResult { 4 | 5 | data: Organisation[], 6 | count: number 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/page-change.ts: -------------------------------------------------------------------------------- 1 | import { MenuItem } from "./menu-item.enum"; 2 | 3 | export interface PageChange { 4 | 5 | menuItem?: MenuItem, 6 | banner?: string 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/parameter-preset-value.ts: -------------------------------------------------------------------------------- 1 | export interface ParameterPresetValue { 2 | 3 | value: string 4 | label?: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/parameter-reference.ts: -------------------------------------------------------------------------------- 1 | import { ParameterPresetValue } from "./parameter-preset-value"; 2 | 3 | export interface ParameterReference { 4 | 5 | id: number 6 | name: string 7 | key: string 8 | kind: 'SIMPLE'|'SECRET'|'BINARY' 9 | hasPresetValues: boolean 10 | presetValues?: ParameterPresetValue[] 11 | 12 | } 13 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/self-registration-template.type.ts: -------------------------------------------------------------------------------- 1 | export interface SelfRegistrationTemplate { 2 | 3 | id: number, 4 | name: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/service-call-result.ts: -------------------------------------------------------------------------------- 1 | export interface ServiceCallResult { 2 | 3 | success: boolean 4 | texts: string[] 5 | contentType: string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/specification-group.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "./entity-with-id" 2 | 3 | export interface SpecificationGroup extends EntityWithId { 4 | 5 | sname: string 6 | fname: string 7 | description?: string 8 | reportMetadata?: string 9 | domain: number 10 | order: number 11 | apiKey: string 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/specification-reference-info.ts: -------------------------------------------------------------------------------- 1 | export interface SpecificationReferenceInfo { 2 | 3 | specReference?: string 4 | specDescription?: string 5 | specLink?: string 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/statement-parameter-minimal.ts: -------------------------------------------------------------------------------- 1 | export interface StatementParameterMinimal { 2 | 3 | id: number 4 | testKey: string 5 | name: string 6 | kind: 'SIMPLE'|'SECRET'|'BINARY' 7 | kindLabel?: string 8 | selected?: boolean 9 | 10 | } -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/status-holder.ts: -------------------------------------------------------------------------------- 1 | export interface StatusHolder { 2 | 3 | status: number 4 | 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/sutconfiguration.ts: -------------------------------------------------------------------------------- 1 | import { ActorConfiguration } from "./actor-configuration"; 2 | 3 | export interface SUTConfiguration { 4 | 5 | configs: ActorConfiguration[] 6 | actor: string 7 | endpoint: string 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/system-configuration-endpoint.ts: -------------------------------------------------------------------------------- 1 | import { EndpointParameter } from "./endpoint-parameter"; 2 | 3 | export interface SystemConfigurationEndpoint { 4 | 5 | id: number 6 | name: string 7 | description?: string 8 | parameters: EndpointParameter[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/system-configuration.ts: -------------------------------------------------------------------------------- 1 | export interface SystemConfiguration { 2 | 3 | name: string, 4 | parameter?: string 5 | default: boolean 6 | environment: boolean 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/system-parameter.ts: -------------------------------------------------------------------------------- 1 | import { CustomProperty } from "./custom-property.type"; 2 | 3 | export interface SystemParameter extends CustomProperty { 4 | 5 | selected?: boolean 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/system.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "./entity-with-id"; 2 | 3 | export interface System extends EntityWithId { 4 | 5 | sname: string, 6 | fname: string, 7 | version?: string, 8 | description?: string, 9 | hasTests?: boolean, 10 | apiKey: string, 11 | owner: number 12 | 13 | } 14 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/table-column-data.type.ts: -------------------------------------------------------------------------------- 1 | export interface TableColumnData { 2 | 3 | data: any, 4 | boolean: boolean, 5 | class: string, 6 | isHiddenFlag?: boolean 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/table-column-definition.type.ts: -------------------------------------------------------------------------------- 1 | export interface TableColumnDefinition { 2 | 3 | field: string, 4 | title: string, 5 | iconFn?: (columnData: any) => string, 6 | iconTooltipFn?: (columnData: any) => string, 7 | headerClass?: string, 8 | cellClass?: string, 9 | sortable?: boolean, 10 | order?: 'asc'|'desc'|null 11 | atEnd?: boolean 12 | isHiddenFlag?: boolean 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/test-case-tag.ts: -------------------------------------------------------------------------------- 1 | export interface TestCaseTag { 2 | 3 | name: string 4 | description?: string 5 | foreground?: string 6 | background?: string 7 | 8 | id?: number 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/test-interaction-data.ts: -------------------------------------------------------------------------------- 1 | import { UserInteraction } from "./user-interaction" 2 | 3 | export interface TestInteractionData { 4 | 5 | stepId: string 6 | interactions: UserInteraction[] 7 | inputTitle?: string 8 | admin?: boolean 9 | desc?: string 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/test-result-data.ts: -------------------------------------------------------------------------------- 1 | import { TestResult } from "./test-result"; 2 | import { TestResultReport } from "./test-result-report"; 3 | 4 | export interface TestResultData { 5 | 6 | data: TestResultReport[], 7 | count?: number, 8 | orgParameters?: string[] 9 | sysParameters?: string[] 10 | 11 | } 12 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/test-result.ts: -------------------------------------------------------------------------------- 1 | export interface TestResult { 2 | 3 | sessionId: string, 4 | systemId?: number, 5 | actorId?: number, 6 | testId?: number, 7 | specificationId?: number, 8 | result: "SUCCESS"|"FAILURE"|"UNDEFINED", 9 | startTime: string, 10 | endTime?: string, 11 | tpl?: string, 12 | outputMessage?: string, 13 | obsolete: boolean 14 | 15 | } 16 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/test-step-result.ts: -------------------------------------------------------------------------------- 1 | export interface TestStepResult { 2 | 3 | sessionId: string 4 | stepId: string 5 | result: number 6 | path?: string 7 | 8 | } 9 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/test-suite-with-test-cases.ts: -------------------------------------------------------------------------------- 1 | import {TestCase} from './test-case'; 2 | import {TestSuite} from './test-suite'; 3 | import {ConformanceTestCaseGroup} from '../pages/organisation/conformance-statement/conformance-test-case-group'; 4 | 5 | export interface TestSuiteWithTestCases extends TestSuite { 6 | 7 | testCases: TestCase[]; 8 | testCaseGroups?: ConformanceTestCaseGroup[]; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/test-suite.ts: -------------------------------------------------------------------------------- 1 | import { EntityWithId } from "./entity-with-id" 2 | import { SpecificationReferenceInfo } from "./specification-reference-info" 3 | 4 | export interface TestSuite extends EntityWithId, SpecificationReferenceInfo { 5 | 6 | identifier: string 7 | sname: string 8 | version: string 9 | description?: string 10 | documentation?: string 11 | specifications?: number[] 12 | shared: boolean 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/trigger-data-item.ts: -------------------------------------------------------------------------------- 1 | export interface TriggerDataItem { 2 | 3 | dataId: number 4 | dataType: number 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/trigger-fire-expression.ts: -------------------------------------------------------------------------------- 1 | import {EventEmitter} from '@angular/core'; 2 | 3 | export interface TriggerFireExpression { 4 | 5 | id?: number 6 | expression: string 7 | expressionType: number 8 | notMatch: boolean 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/trigger-info.ts: -------------------------------------------------------------------------------- 1 | import { Trigger } from "./trigger"; 2 | import { TriggerDataItem } from "./trigger-data-item"; 3 | import {TriggerFireExpression} from './trigger-fire-expression'; 4 | 5 | export interface TriggerInfo { 6 | 7 | trigger: Trigger 8 | data?: TriggerDataItem[] 9 | fireExpressions?: TriggerFireExpression[] 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/trigger.ts: -------------------------------------------------------------------------------- 1 | export interface Trigger { 2 | 3 | id: number 4 | name: string 5 | description?: string 6 | operation?: string 7 | url: string 8 | eventType: number 9 | eventTypeLabel?: string 10 | serviceType: number 11 | latestResultOk?: boolean 12 | active: boolean 13 | status?: number 14 | statusText?: string 15 | latestResultOutput?: string 16 | } 17 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/typed-label-config.type.ts: -------------------------------------------------------------------------------- 1 | import { LabelConfig } from './label-config.type' 2 | 3 | export interface TypedLabelConfig extends LabelConfig { 4 | labelType: number, 5 | custom?: boolean 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/user-account.ts: -------------------------------------------------------------------------------- 1 | export interface UserAccount { 2 | 3 | id: number 4 | name: string 5 | email: string 6 | role: number 7 | organisationId: number 8 | organisationShortName: string 9 | organisationFullName: string 10 | organisationIsAdmin: boolean 11 | communityId: number 12 | communityShortName: string 13 | communityFullName: string 14 | 15 | } 16 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/user-interaction-input-request.ts: -------------------------------------------------------------------------------- 1 | export interface UserInteractionInputRequest { 2 | 3 | id: string 4 | name: string 5 | desc?: string 6 | with?: string 7 | type?: string 8 | contentType?: string 9 | encoding?: string 10 | options?: string 11 | optionLabels?: string 12 | multiple?: boolean 13 | 14 | } 15 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/user-interaction-input.ts: -------------------------------------------------------------------------------- 1 | export interface UserInteractionInput { 2 | 3 | id: string 4 | name: string 5 | type: string 6 | embeddingMethod: string 7 | value: string 8 | file?: File 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/user-interaction-instruction.ts: -------------------------------------------------------------------------------- 1 | import { AnyContent } from "../components/diagram/any-content"; 2 | 3 | export interface UserInteractionInstruction extends AnyContent { 4 | 5 | id: string 6 | desc?: string 7 | with?: string 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/user-interaction-request.ts: -------------------------------------------------------------------------------- 1 | import { UserInteractionInputRequest } from "./user-interaction-input-request"; 2 | import { UserInteractionInstruction } from "./user-interaction-instruction"; 3 | 4 | export interface UserInteractionRequest { 5 | 6 | with?: string 7 | inputTitle?: string 8 | instructionOrRequest: UserInteractionInputRequest[]|UserInteractionInstruction[] 9 | 10 | } 11 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/user.type.ts: -------------------------------------------------------------------------------- 1 | import { Organisation } from "./organisation.type"; 2 | 3 | export interface User { 4 | 5 | id?: number, 6 | name?: string, 7 | email?: string, 8 | role?: number, 9 | roleText?: string, 10 | onetime?: boolean, 11 | ssoStatus?: number, 12 | ssoStatusText?: string, 13 | organization?: Organisation, 14 | password?: string, 15 | 16 | } 17 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/value-label.ts: -------------------------------------------------------------------------------- 1 | export interface ValueLabel { 2 | 3 | value: string 4 | label: string 5 | 6 | } 7 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/value-type.ts: -------------------------------------------------------------------------------- 1 | export enum ValueType { 2 | string, 3 | base64, 4 | dataURL 5 | } 6 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/app/types/value-with-metadata.ts: -------------------------------------------------------------------------------- 1 | import { ValueType } from "./value-type" 2 | 3 | export interface ValueWithMetadata { 4 | 5 | value: string 6 | valueType: ValueType 7 | mimeType: string|undefined 8 | 9 | } 10 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/assets/.gitkeep -------------------------------------------------------------------------------- /gitb-ui/ui/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/favicon.ico -------------------------------------------------------------------------------- /gitb-ui/ui/src/proxy.conf.mjs: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | context: [ 4 | '/api', 5 | '/assets', 6 | '/resources', 7 | '/badgereportpreview' 8 | ], 9 | target: 'http://localhost:9000', 10 | secure: false 11 | } 12 | ]; 13 | -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUuhp.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUuhp.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFUZ0bbck.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFUZ0bbck.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVZ0b.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVZ0b.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVZ0b.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVZ0b.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVp0bbck.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVp0bbck.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVp0bbck.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFVp0bbck.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFW50bbck.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFW50bbck.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFW50bbck.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFW50bbck.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWJ0bbck.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWJ0bbck.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWZ0bbck.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWZ0bbck.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWp0bbck.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWp0bbck.woff -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWp0bbck.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ISAITB/gitb/ff22ab3beef6ac78ced4205ad4202eb76f4d8fc9/gitb-ui/ui/src/styles/css/fonts/opensans/mem8YaGs126MiZpBA-UFWp0bbck.woff2 -------------------------------------------------------------------------------- /gitb-ui/ui/src/styles/styles.less: -------------------------------------------------------------------------------- 1 | @import "less/app.less"; 2 | @import "less/override.less"; 3 | @import "less/components/sequence-diagram.less"; 4 | @import "less/components/common.less"; 5 | @import "less/components/editor.less"; -------------------------------------------------------------------------------- /gitb-ui/ui/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/app", 6 | "types": [] 7 | }, 8 | "files": [ 9 | "src/main.ts", 10 | "src/polyfills.ts" 11 | ], 12 | "include": [ 13 | "src/**/*.d.ts" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /gitb-ui/ui/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "./out-tsc/spec", 6 | "types": [ 7 | "jasmine" 8 | ] 9 | }, 10 | "files": [ 11 | "src/test.ts", 12 | "src/polyfills.ts" 13 | ], 14 | "include": [ 15 | "src/**/*.spec.ts", 16 | "src/**/*.d.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /gitb-validator-tdl/src/main/java/com/gitb/vs/tdl/ErrorLevel.java: -------------------------------------------------------------------------------- 1 | package com.gitb.vs.tdl; 2 | 3 | public enum ErrorLevel { 4 | 5 | ERROR, WARNING, INFO 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gitb-validator-tdl/src/main/java/com/gitb/vs/tdl/InputStreamSource.java: -------------------------------------------------------------------------------- 1 | package com.gitb.vs.tdl; 2 | 3 | import java.io.InputStream; 4 | 5 | public interface InputStreamSource { 6 | 7 | InputStream getInputStream(); 8 | 9 | } 10 | --------------------------------------------------------------------------------