85 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import requests
 | |
| 
 | |
| from .conftest import API_PREFIX
 | |
| 
 | |
| 
 | |
| def test_crawlconfig_crawl_stats(admin_auth_headers, default_org_id, crawl_config_info):
 | |
|     crawl_config_id, crawl_id, second_crawl_id = crawl_config_info
 | |
| 
 | |
|     r = requests.get(
 | |
|         f"{API_PREFIX}/orgs/{default_org_id}/crawls/{crawl_id}",
 | |
|         headers=admin_auth_headers,
 | |
|     )
 | |
|     assert r.status_code == 200
 | |
|     data = r.json()
 | |
|     first_crawl_finished = data["finished"]
 | |
|     assert first_crawl_finished
 | |
| 
 | |
|     r = requests.get(
 | |
|         f"{API_PREFIX}/orgs/{default_org_id}/crawls/{second_crawl_id}",
 | |
|         headers=admin_auth_headers,
 | |
|     )
 | |
|     assert r.status_code == 200
 | |
|     data = r.json()
 | |
|     second_crawl_finished = data["finished"]
 | |
|     assert second_crawl_finished
 | |
| 
 | |
|     # Verify crawl stats from /crawlconfigs
 | |
|     r = requests.get(
 | |
|         f"{API_PREFIX}/orgs/{default_org_id}/crawlconfigs/{crawl_config_id}",
 | |
|         headers=admin_auth_headers,
 | |
|     )
 | |
|     assert r.status_code == 200
 | |
|     data = r.json()
 | |
|     assert data["crawlAttemptCount"] == 2
 | |
|     assert data["crawlCount"] == 2
 | |
|     assert data["lastCrawlId"] == second_crawl_id
 | |
|     assert data["lastCrawlState"] == "complete"
 | |
|     assert data["lastCrawlTime"] == second_crawl_finished
 | |
| 
 | |
|     # Delete second crawl
 | |
|     r = requests.post(
 | |
|         f"{API_PREFIX}/orgs/{default_org_id}/crawls/delete",
 | |
|         headers=admin_auth_headers,
 | |
|         json={"crawl_ids": [second_crawl_id]},
 | |
|     )
 | |
|     assert r.status_code == 200
 | |
|     data = r.json()
 | |
|     assert data["deleted"]
 | |
| 
 | |
|     # Verify crawl stats from /crawlconfigs
 | |
|     r = requests.get(
 | |
|         f"{API_PREFIX}/orgs/{default_org_id}/crawlconfigs/{crawl_config_id}",
 | |
|         headers=admin_auth_headers,
 | |
|     )
 | |
|     assert r.status_code == 200
 | |
|     data = r.json()
 | |
|     assert data["crawlAttemptCount"] == 2
 | |
|     assert data["crawlCount"] == 1
 | |
|     assert data["lastCrawlId"] == crawl_id
 | |
|     assert data["lastCrawlState"] == "complete"
 | |
|     assert data["lastCrawlTime"] == first_crawl_finished
 | |
| 
 | |
|     # Delete first crawl
 | |
|     r = requests.post(
 | |
|         f"{API_PREFIX}/orgs/{default_org_id}/crawls/delete",
 | |
|         headers=admin_auth_headers,
 | |
|         json={"crawl_ids": [crawl_id]},
 | |
|     )
 | |
|     assert r.status_code == 200
 | |
|     data = r.json()
 | |
|     assert data["deleted"]
 | |
| 
 | |
|     # Verify crawl stats from /crawlconfigs
 | |
|     r = requests.get(
 | |
|         f"{API_PREFIX}/orgs/{default_org_id}/crawlconfigs/{crawl_config_id}",
 | |
|         headers=admin_auth_headers,
 | |
|     )
 | |
|     assert r.status_code == 200
 | |
|     data = r.json()
 | |
|     assert data["crawlAttemptCount"] == 2
 | |
|     assert data["crawlCount"] == 0
 | |
|     assert not data["lastCrawlId"]
 | |
|     assert not data["lastCrawlState"]
 | |
|     assert not data["lastCrawlTime"]
 |