Mercurial > hg > orthanc
comparison UnitTestsSources/MultiThreadingTests.cpp @ 2872:9d08edde614b
Possibility to restrict the allowed DICOM commands for each modality
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 09 Oct 2018 14:19:48 +0200 |
parents | 6eebc2eb3168 |
children | 22524fd06225 |
comparison
equal
deleted
inserted
replaced
2871:6eebc2eb3168 | 2872:9d08edde614b |
---|---|
1873 { | 1873 { |
1874 Json::Value s; | 1874 Json::Value s; |
1875 | 1875 |
1876 { | 1876 { |
1877 RemoteModalityParameters modality; | 1877 RemoteModalityParameters modality; |
1878 ASSERT_FALSE(modality.IsAdvancedFormatNeeded()); | |
1878 modality.Serialize(s, false); | 1879 modality.Serialize(s, false); |
1879 ASSERT_EQ(Json::arrayValue, s.type()); | 1880 ASSERT_EQ(Json::arrayValue, s.type()); |
1880 } | 1881 } |
1881 | 1882 |
1882 { | 1883 { |
1883 RemoteModalityParameters modality(s); | 1884 RemoteModalityParameters modality(s); |
1884 ASSERT_EQ("ORTHANC", modality.GetApplicationEntityTitle()); | 1885 ASSERT_EQ("ORTHANC", modality.GetApplicationEntityTitle()); |
1885 ASSERT_EQ("127.0.0.1", modality.GetHost()); | 1886 ASSERT_EQ("127.0.0.1", modality.GetHost()); |
1886 ASSERT_EQ(104u, modality.GetPortNumber()); | 1887 ASSERT_EQ(104u, modality.GetPortNumber()); |
1887 ASSERT_EQ(ModalityManufacturer_Generic, modality.GetManufacturer()); | 1888 ASSERT_EQ(ModalityManufacturer_Generic, modality.GetManufacturer()); |
1889 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Echo)); | |
1890 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Find)); | |
1891 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Get)); | |
1892 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Store)); | |
1893 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); | |
1888 } | 1894 } |
1889 | 1895 |
1890 s = Json::nullValue; | 1896 s = Json::nullValue; |
1891 | 1897 |
1892 { | 1898 { |
1893 RemoteModalityParameters modality; | 1899 RemoteModalityParameters modality; |
1894 ASSERT_FALSE(modality.IsAdvancedFormatNeeded()); | 1900 ASSERT_FALSE(modality.IsAdvancedFormatNeeded()); |
1901 ASSERT_THROW(modality.SetPortNumber(0), OrthancException); | |
1902 ASSERT_THROW(modality.SetPortNumber(65535), OrthancException); | |
1895 modality.SetApplicationEntityTitle("HELLO"); | 1903 modality.SetApplicationEntityTitle("HELLO"); |
1896 modality.SetHost("world"); | 1904 modality.SetHost("world"); |
1897 modality.SetPortNumber(45); | 1905 modality.SetPortNumber(45); |
1898 modality.SetManufacturer(ModalityManufacturer_Dcm4Chee); | 1906 modality.SetManufacturer(ModalityManufacturer_Dcm4Chee); |
1899 modality.Serialize(s, true); | 1907 modality.Serialize(s, true); |
1904 RemoteModalityParameters modality(s); | 1912 RemoteModalityParameters modality(s); |
1905 ASSERT_EQ("HELLO", modality.GetApplicationEntityTitle()); | 1913 ASSERT_EQ("HELLO", modality.GetApplicationEntityTitle()); |
1906 ASSERT_EQ("world", modality.GetHost()); | 1914 ASSERT_EQ("world", modality.GetHost()); |
1907 ASSERT_EQ(45u, modality.GetPortNumber()); | 1915 ASSERT_EQ(45u, modality.GetPortNumber()); |
1908 ASSERT_EQ(ModalityManufacturer_Dcm4Chee, modality.GetManufacturer()); | 1916 ASSERT_EQ(ModalityManufacturer_Dcm4Chee, modality.GetManufacturer()); |
1917 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Echo)); | |
1918 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Find)); | |
1919 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Get)); | |
1920 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Store)); | |
1921 ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Move)); | |
1909 } | 1922 } |
1910 | 1923 |
1911 s["Port"] = "46"; | 1924 s["Port"] = "46"; |
1912 | 1925 |
1913 { | 1926 { |
1914 RemoteModalityParameters modality(s); | 1927 RemoteModalityParameters modality(s); |
1915 ASSERT_EQ(46u, modality.GetPortNumber()); | 1928 ASSERT_EQ(46u, modality.GetPortNumber()); |
1916 } | 1929 } |
1917 } | 1930 |
1931 s["Port"] = -1; ASSERT_THROW(RemoteModalityParameters m(s), OrthancException); | |
1932 s["Port"] = 65535; ASSERT_THROW(RemoteModalityParameters m(s), OrthancException); | |
1933 s["Port"] = "nope"; ASSERT_THROW(RemoteModalityParameters m(s), OrthancException); | |
1934 | |
1935 std::set<DicomRequestType> operations; | |
1936 operations.insert(DicomRequestType_Echo); | |
1937 operations.insert(DicomRequestType_Find); | |
1938 operations.insert(DicomRequestType_Get); | |
1939 operations.insert(DicomRequestType_Move); | |
1940 operations.insert(DicomRequestType_Store); | |
1941 | |
1942 ASSERT_EQ(5u, operations.size()); | |
1943 | |
1944 for (std::set<DicomRequestType>::const_iterator | |
1945 it = operations.begin(); it != operations.end(); ++it) | |
1946 { | |
1947 { | |
1948 RemoteModalityParameters modality; | |
1949 modality.SetRequestAllowed(*it, false); | |
1950 ASSERT_TRUE(modality.IsAdvancedFormatNeeded()); | |
1951 | |
1952 modality.Serialize(s, false); | |
1953 ASSERT_EQ(Json::objectValue, s.type()); | |
1954 } | |
1955 | |
1956 { | |
1957 RemoteModalityParameters modality(s); | |
1958 | |
1959 ASSERT_FALSE(modality.IsRequestAllowed(*it)); | |
1960 | |
1961 for (std::set<DicomRequestType>::const_iterator | |
1962 it2 = operations.begin(); it2 != operations.end(); ++it2) | |
1963 { | |
1964 if (*it2 != *it) | |
1965 { | |
1966 ASSERT_TRUE(modality.IsRequestAllowed(*it2)); | |
1967 } | |
1968 } | |
1969 } | |
1970 } | |
1971 } |