<commit_before> Test Cases for Service Module Versioning:

- Test Case 01: Install service module version, list assemblies
	Precondition:
		- service module exists on repo: versioned_service_module
		- service module version exists on repo: 0.0.1
	Test steps:
		1. Install service module version (this installs base service module too)
		2. List assemblies in service module
	Cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally) 
____________________________________________________________________________________________________________________

- Test Case 02: Install service module, version it, check if version is cloned to local filesystem
	Precondition:
		- service module exists on repo: versioned_service_module
	Test steps:
		1. Install service module version
		2. Create new service module version
		3. Check if new service module version is cloned to local filesystem
	Cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally)

____________________________________________________________________________________________________________________

- Test Case 05: Install service module, version it and push it to remote
	Precondition:
		- service module present on repo: versioned_service_module
		- service module version: 0.0.1
	Test steps:
		1. Install service module
		2. Create service module version  
		3. Publish version
	Test cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally)
		- delete service module version from remote

___________________________________________________________________________________________________________________

- Test Case 07 (N): Create version of a service module that already exists
	Precondition:
		- service module exists on repo: versioned_service_module
		- service module version exists on repo: 0.0.1
	Test steps:
		1. Install service module version
		2. Create existing service module version
	Cleanup: 
		- none
	Expected Error Message:
		- Message saying that version already exists
___________________________________________________________________________________________________________________

- Test Case 08: Import service module from local filesystem, version it, publish version
	Reminder: This will probably be possible
	Precondition:
		- service module exists locally
		- service module does not exist on repo
	Test steps:
		1. Import service module from local filesystem
		2. Create new service module version
		3. Publsih created version to the remote repo 
	Cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally)
___________________________________________________________________________________________________________________

- Test Case 09: Stage assembly, add versioned cmp as dependency, create new assembly and check that module_refs.yaml is updated correctly
	Precondition:
	 - service module and versioned cmp module already exist on server
	Test steps:
	1. Stage assembly
	2. Add versioned cmp as dependency on service
	3. Create new assembly from existing service in new service module
	4. Check content of newly created service module and check that module_refs.yaml has versioned cmp as dependency
	5. Delete staged assembly
	6. Delete from server and locally newly created service module<commit_msg>add new test cases for service module versioning<commit_after> Test Cases for Service Module Versioning:

- Test Case 01: Install service module version, list assemblies
	Precondition:
		- service module exists on repo: versioned_service_module
		- service module version exists on repo: 0.0.1
	Test steps:
		1. Install service module version (this installs base service module too)
		2. List assemblies in service module
	Cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally) 
____________________________________________________________________________________________________________________

- Test Case 02: Install service module, version it, check if version is cloned to local filesystem
	Precondition:
		- service module exists on repo: versioned_service_module
	Test steps:
		1. Install service module version
		2. Create new service module version
		3. Check if new service module version is cloned to local filesystem
	Cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally)

____________________________________________________________________________________________________________________

- Test Case 05: Install service module, version it and push it to remote
	Precondition:
		- service module present on repo: versioned_service_module
		- service module version: 0.0.1
	Test steps:
		1. Install service module
		2. Create service module version  
		3. Publish version
	Test cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally)
		- delete service module version from remote

___________________________________________________________________________________________________________________

- Test Case 07 (N): Create version of a service module that already exists
	Precondition:
		- service module exists on repo: versioned_service_module
		- service module version exists on repo: 0.0.1
	Test steps:
		1. Install service module version
		2. Create existing service module version
	Cleanup: 
		- none
	Expected Error Message:
		- Message saying that version already exists
___________________________________________________________________________________________________________________

- Test Case 08: Import service module from local filesystem, version it, publish version
	Reminder: This will probably be possible
	Precondition:
		- service module exists locally
		- service module does not exist on repo
	Test steps:
		1. Import service module from local filesystem
		2. Create new service module version
		3. Publsih created version to the remote repo 
	Cleanup:
		- delete service module (tenant + locally)
		- delete service module version (tenant + locally)
___________________________________________________________________________________________________________________

- Test Case 09: Stage assembly, add versioned cmp as dependency, create new assembly and check that module_refs.yaml is updated correctly
	Precondition:
	 - service module and versioned cmp module already exist on server
	Test steps:
	1. Stage assembly
	2. Add versioned cmp as dependency on service
	3. Create new assembly from existing service in new service module
	4. Check content of newly created service module and check that module_refs.yaml has versioned cmp as dependency
	5. Delete staged assembly
	6. Delete from server and locally newly created service module
___________________________________________________________________________________________________________________

- Test Case 10: Install service module, stage assembly, add cmp module version as dependency, create new assembly, publish it, delete modules and check module_refs.yaml afer install
	Precondition: 
	- service module exists on remote repo
	- component module version exists on repo
	Test steps:
	1. Install service module and component module version
	2. Add module_refs.yaml service module and add component module version as dependency, push changes
	3. Publish (push dtkn) changes back to repo for service module 
	4. Delete service module and component module versions
	5. Install service module and make sure that correct component module version is installed
	6. Remove module_refs.yaml version line from service module
	7. Publish (push dtkn) changes back to repo
	8. Delete both modules from server and their versions
___________________________________________________________________________________________________________________

- Test Case 11: Install service modules, stage assembly, add cmp module version as dependency, create new assembly, create version and publish it, delete modules, install service module version and check module_refs. yaml
Precondition: 
	- service module exists on remote repo
	- component module version exists on repo
	Test steps:
	1. Install service module and component module version
	2. Add module_refs.yaml service module and add component module version as dependency, push changes
	3. Create new service module version
	4. Publish (push dtkn) version back to repo for service module 
	5. Delete service module and component module versions
	6. Install service module version and make sure that correct component module version is installed
	7. Delete service module version from remote
	8. Delete both modules from server and their versions
	9. Delete both modules from server and their versions
{'fraction_non_alphanumeric': 0.034639409426462237, 'fraction_numerical': 0.011470755252697331, 'mean_word_length': 4.914036265950302, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6541669', 'n_tokens_mistral': 1961, 'n_tokens_neox': 1832, 'n_words': 1023}