(t *testing.T, sub events.Subscription, folder, expected string)
| 1652 | } |
| 1653 | |
| 1654 | func waitForState(t *testing.T, sub events.Subscription, folder, expected string) { |
| 1655 | t.Helper() |
| 1656 | timeout := time.After(5 * time.Second) |
| 1657 | var err string |
| 1658 | for { |
| 1659 | select { |
| 1660 | case ev := <-sub.C(): |
| 1661 | data := ev.Data.(map[string]interface{}) |
| 1662 | if data["folder"].(string) == folder { |
| 1663 | if data["error"] == nil { |
| 1664 | err = "" |
| 1665 | } else { |
| 1666 | err = data["error"].(string) |
| 1667 | } |
| 1668 | if err == expected { |
| 1669 | return |
| 1670 | } |
| 1671 | } |
| 1672 | case <-timeout: |
| 1673 | t.Fatalf("Timed out waiting for status: %s, current status: %v", expected, err) |
| 1674 | } |
| 1675 | } |
| 1676 | } |
| 1677 | |
| 1678 | func TestROScanRecovery(t *testing.T) { |
| 1679 | fcfg := config.FolderConfiguration{ |
no test coverage detected