50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								import pytest
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from moto.emr.utils import ReleaseLabel
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def test_invalid_release_labels_raise_exception():
							 | 
						||
| 
								 | 
							
								    invalid_releases = [
							 | 
						||
| 
								 | 
							
								        "",
							 | 
						||
| 
								 | 
							
								        "0",
							 | 
						||
| 
								 | 
							
								        "1.0",
							 | 
						||
| 
								 | 
							
								        "emr-2.0",
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								    for invalid_release in invalid_releases:
							 | 
						||
| 
								 | 
							
								        with pytest.raises(ValueError):
							 | 
						||
| 
								 | 
							
								            ReleaseLabel(invalid_release)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def test_release_label_comparisons():
							 | 
						||
| 
								 | 
							
								    assert str(ReleaseLabel("emr-5.1.2")) == "emr-5.1.2"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.0.0") != ReleaseLabel("emr-5.0.1")
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.0.0") == ReleaseLabel("emr-5.0.0")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.31.0") > ReleaseLabel("emr-5.7.0")
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-6.0.0") > ReleaseLabel("emr-5.7.0")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.7.0") < ReleaseLabel("emr-5.10.0")
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.10.0") < ReleaseLabel("emr-5.10.1")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.60.0") >= ReleaseLabel("emr-5.7.0")
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-6.0.0") >= ReleaseLabel("emr-6.0.0")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.7.0") <= ReleaseLabel("emr-5.17.0")
							 | 
						||
| 
								 | 
							
								    assert ReleaseLabel("emr-5.7.0") <= ReleaseLabel("emr-5.7.0")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    releases_unsorted = [
							 | 
						||
| 
								 | 
							
								        ReleaseLabel("emr-5.60.2"),
							 | 
						||
| 
								 | 
							
								        ReleaseLabel("emr-4.0.1"),
							 | 
						||
| 
								 | 
							
								        ReleaseLabel("emr-4.0.0"),
							 | 
						||
| 
								 | 
							
								        ReleaseLabel("emr-5.7.3"),
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								    releases_sorted = [str(label) for label in sorted(releases_unsorted)]
							 | 
						||
| 
								 | 
							
								    expected = [
							 | 
						||
| 
								 | 
							
								        "emr-4.0.0",
							 | 
						||
| 
								 | 
							
								        "emr-4.0.1",
							 | 
						||
| 
								 | 
							
								        "emr-5.7.3",
							 | 
						||
| 
								 | 
							
								        "emr-5.60.2",
							 | 
						||
| 
								 | 
							
								    ]
							 | 
						||
| 
								 | 
							
								    assert releases_sorted == expected
							 |