initial commit
This commit is contained in:
commit
8aa4200af0
288
.gitignore
vendored
Normal file
288
.gitignore
vendored
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
|
||||||
|
### Java ###
|
||||||
|
# Compiled class file
|
||||||
|
*.class
|
||||||
|
|
||||||
|
# Log file
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# BlueJ files
|
||||||
|
*.ctxt
|
||||||
|
|
||||||
|
# Mobile Tools for Java (J2ME)
|
||||||
|
.mtj.tmp/
|
||||||
|
|
||||||
|
# Package Files #
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.nar
|
||||||
|
*.ear
|
||||||
|
*.zip
|
||||||
|
*.tar.gz
|
||||||
|
*.rar
|
||||||
|
|
||||||
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||||
|
hs_err_pid*
|
||||||
|
|
||||||
|
### Eclipse ###
|
||||||
|
.metadata
|
||||||
|
bin/
|
||||||
|
tmp/
|
||||||
|
*.tmp
|
||||||
|
*.bak
|
||||||
|
*.swp
|
||||||
|
*~.nib
|
||||||
|
local.properties
|
||||||
|
.settings/
|
||||||
|
.loadpath
|
||||||
|
.recommenders
|
||||||
|
|
||||||
|
# External tool builders
|
||||||
|
.externalToolBuilders/
|
||||||
|
|
||||||
|
# Locally stored "Eclipse launch configurations"
|
||||||
|
*.launch
|
||||||
|
|
||||||
|
# PyDev specific (Python IDE for Eclipse)
|
||||||
|
*.pydevproject
|
||||||
|
|
||||||
|
# CDT-specific (C/C++ Development Tooling)
|
||||||
|
.cproject
|
||||||
|
|
||||||
|
# CDT- autotools
|
||||||
|
.autotools
|
||||||
|
|
||||||
|
# Java annotation processor (APT)
|
||||||
|
.factorypath
|
||||||
|
|
||||||
|
# PDT-specific (PHP Development Tools)
|
||||||
|
.buildpath
|
||||||
|
|
||||||
|
# sbteclipse plugin
|
||||||
|
.target
|
||||||
|
|
||||||
|
# Tern plugin
|
||||||
|
.tern-project
|
||||||
|
|
||||||
|
# TeXlipse plugin
|
||||||
|
.texlipse
|
||||||
|
|
||||||
|
# STS (Spring Tool Suite)
|
||||||
|
.springBeans
|
||||||
|
|
||||||
|
# Code Recommenders
|
||||||
|
.recommenders/
|
||||||
|
|
||||||
|
# Annotation Processing
|
||||||
|
.apt_generated/
|
||||||
|
.apt_generated_test/
|
||||||
|
|
||||||
|
# Scala IDE specific (Scala & Java development for Eclipse)
|
||||||
|
.cache-main
|
||||||
|
.scala_dependencies
|
||||||
|
.worksheet
|
||||||
|
|
||||||
|
# Uncomment this line if you wish to ignore the project description file.
|
||||||
|
# Typically, this file would be tracked if it contains build/dependency configurations:
|
||||||
|
#.project
|
||||||
|
|
||||||
|
### Eclipse Patch ###
|
||||||
|
# Spring Boot Tooling
|
||||||
|
.sts4-cache/
|
||||||
|
|
||||||
|
### Intellij ###
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
# User-specific stuff
|
||||||
|
.idea/**/workspace.xml
|
||||||
|
.idea/**/tasks.xml
|
||||||
|
.idea/**/usage.statistics.xml
|
||||||
|
.idea/**/dictionaries
|
||||||
|
.idea/**/shelf
|
||||||
|
|
||||||
|
# AWS User-specific
|
||||||
|
.idea/**/aws.xml
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
.idea/**/contentModel.xml
|
||||||
|
|
||||||
|
# Sensitive or high-churn files
|
||||||
|
.idea/**/dataSources/
|
||||||
|
.idea/**/dataSources.ids
|
||||||
|
.idea/**/dataSources.local.xml
|
||||||
|
.idea/**/sqlDataSources.xml
|
||||||
|
.idea/**/dynamic.xml
|
||||||
|
.idea/**/uiDesigner.xml
|
||||||
|
.idea/**/dbnavigator.xml
|
||||||
|
|
||||||
|
# Gradle
|
||||||
|
.idea/**/gradle.xml
|
||||||
|
.idea/**/libraries
|
||||||
|
|
||||||
|
# Gradle and Maven with auto-import
|
||||||
|
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||||
|
# since they will be recreated, and may cause churn. Uncomment if using
|
||||||
|
# auto-import.
|
||||||
|
# .idea/artifacts
|
||||||
|
# .idea/compiler.xml
|
||||||
|
# .idea/jarRepositories.xml
|
||||||
|
# .idea/modules.xml
|
||||||
|
# .idea/*.iml
|
||||||
|
# .idea/modules
|
||||||
|
# *.iml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
|
# Mongo Explorer plugin
|
||||||
|
.idea/**/mongoSettings.xml
|
||||||
|
|
||||||
|
# File-based project format
|
||||||
|
*.iws
|
||||||
|
|
||||||
|
# IntelliJ
|
||||||
|
out/
|
||||||
|
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
.idea_modules/
|
||||||
|
|
||||||
|
# JIRA plugin
|
||||||
|
atlassian-ide-plugin.xml
|
||||||
|
|
||||||
|
# Cursive Clojure plugin
|
||||||
|
.idea/replstate.xml
|
||||||
|
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
com_crashlytics_export_strings.xml
|
||||||
|
crashlytics.properties
|
||||||
|
crashlytics-build.properties
|
||||||
|
fabric.properties
|
||||||
|
|
||||||
|
# Editor-based Rest Client
|
||||||
|
.idea/httpRequests
|
||||||
|
|
||||||
|
# Android studio 3.1+ serialized cache file
|
||||||
|
.idea/caches/build_file_checksums.ser
|
||||||
|
|
||||||
|
### Intellij Patch ###
|
||||||
|
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
||||||
|
|
||||||
|
# *.iml
|
||||||
|
# modules.xml
|
||||||
|
# .idea/misc.xml
|
||||||
|
# *.ipr
|
||||||
|
|
||||||
|
# Sonarlint plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7973-sonarlint
|
||||||
|
.idea/**/sonarlint/
|
||||||
|
|
||||||
|
# SonarQube Plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
|
||||||
|
.idea/**/sonarIssues.xml
|
||||||
|
|
||||||
|
# Markdown Navigator plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
|
||||||
|
.idea/**/markdown-navigator.xml
|
||||||
|
.idea/**/markdown-navigator-enh.xml
|
||||||
|
.idea/**/markdown-navigator/
|
||||||
|
|
||||||
|
# Cache file creation bug
|
||||||
|
# See https://youtrack.jetbrains.com/issue/JBR-2257
|
||||||
|
.idea/$CACHE_FILE$
|
||||||
|
|
||||||
|
# CodeStream plugin
|
||||||
|
# https://plugins.jetbrains.com/plugin/12206-codestream
|
||||||
|
.idea/codestream.xml
|
||||||
|
|
||||||
|
### macOS ###
|
||||||
|
# General
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Icon must end with two \r
|
||||||
|
Icon
|
||||||
|
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear in the root of a volume
|
||||||
|
.DocumentRevisions-V100
|
||||||
|
.fseventsd
|
||||||
|
.Spotlight-V100
|
||||||
|
.TemporaryItems
|
||||||
|
.Trashes
|
||||||
|
.VolumeIcon.icns
|
||||||
|
.com.apple.timemachine.donotpresent
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
|
|
||||||
|
### Maven ###
|
||||||
|
target/
|
||||||
|
pom.xml.tag
|
||||||
|
pom.xml.releaseBackup
|
||||||
|
pom.xml.versionsBackup
|
||||||
|
pom.xml.next
|
||||||
|
release.properties
|
||||||
|
dependency-reduced-pom.xml
|
||||||
|
buildNumber.properties
|
||||||
|
.mvn/timing.properties
|
||||||
|
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
|
||||||
|
.mvn/wrapper/maven-wrapper.jar
|
||||||
|
.flattened-pom.xml
|
||||||
|
|
||||||
|
### Maven Patch ###
|
||||||
|
# Eclipse m2e generated files
|
||||||
|
# Eclipse Core
|
||||||
|
.project
|
||||||
|
# JDT-specific (Eclipse Java Development Tools)
|
||||||
|
.classpath
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
**/nbproject/private/
|
||||||
|
**/nbproject/Makefile-*.mk
|
||||||
|
**/nbproject/Package-*.bash
|
||||||
|
build/
|
||||||
|
nbbuild/
|
||||||
|
dist/
|
||||||
|
nbdist/
|
||||||
|
.nb-gradle/
|
||||||
|
|
||||||
|
### Windows ###
|
||||||
|
# Windows thumbnail cache files
|
||||||
|
Thumbs.db
|
||||||
|
Thumbs.db:encryptable
|
||||||
|
ehthumbs.db
|
||||||
|
ehthumbs_vista.db
|
||||||
|
|
||||||
|
# Dump file
|
||||||
|
*.stackdump
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
[Dd]esktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows Installer files
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
74
inspector-oneroster/pom.xml
Normal file
74
inspector-oneroster/pom.xml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.1edtech</groupId>
|
||||||
|
<artifactId>inspector</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>inspector-oneroster</artifactId>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.1edtech</groupId>
|
||||||
|
<artifactId>inspector-core</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.relaxng</groupId>
|
||||||
|
<artifactId>jing</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>xerces</groupId>
|
||||||
|
<artifactId>xercesImpl</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.fasterxml.woodstox</groupId>
|
||||||
|
<artifactId>woodstox-core</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>net.sf.saxon</groupId>
|
||||||
|
<artifactId>Saxon-HE</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.1edtech</groupId>
|
||||||
|
<artifactId>inspector-core</artifactId>
|
||||||
|
<classifier>tests</classifier>
|
||||||
|
<type>test-jar</type>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
|
<build> <!-- temp for testing by others until on nexus -->
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<version>3.1.1</version>
|
||||||
|
|
||||||
|
<configuration>
|
||||||
|
<descriptorRefs>
|
||||||
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||||
|
</descriptorRefs>
|
||||||
|
</configuration>
|
||||||
|
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>make-assembly</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
@ -0,0 +1,68 @@
|
|||||||
|
package org.oneedtech.inspect.oneroster;
|
||||||
|
|
||||||
|
import static org.oneedtech.inspect.util.net.HttpMethod.GET;
|
||||||
|
|
||||||
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
|
import org.oneedtech.inspect.core.MappedJsonInspector;
|
||||||
|
import org.oneedtech.inspect.core.schema.TransactionKey;
|
||||||
|
import org.oneedtech.inspect.schema.SchemaKeys;
|
||||||
|
import org.oneedtech.inspect.util.resource.ResourceType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An Inspector for OneRoster 1.1.
|
||||||
|
*
|
||||||
|
* @author mgylling
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO - what would make the building of this faster? - Autogen of mapping
|
||||||
|
* between endpoint/responseCode and schemas TODO - what would make maintenance
|
||||||
|
* of this faster? - webhooks when schemas are updated
|
||||||
|
*/
|
||||||
|
public class OneRoster11Inspector extends MappedJsonInspector {
|
||||||
|
|
||||||
|
protected OneRoster11Inspector(OneRoster11Inspector.Builder builder) {
|
||||||
|
super(builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder extends MappedJsonInspector.Builder<OneRoster11Inspector.Builder> {
|
||||||
|
|
||||||
|
public Builder() {
|
||||||
|
super();
|
||||||
|
set(ResourceType.JSON) // ?refine needed?
|
||||||
|
// add default tests
|
||||||
|
.add(TransactionKeys.ACADEMIC_SESSIONS_GET_200, SchemaKeys.OR_11_GETALLACADEMICSESSIONS_11_JSON)
|
||||||
|
.add(TransactionKeys.CLASSES_GET_200, SchemaKeys.OR_11_GETALLCLASSES_11_JSON)
|
||||||
|
.add(TransactionKeys.COURSES_GET_200, SchemaKeys.OR_11_GETALLCOURSES_11_JSON)
|
||||||
|
.add(TransactionKeys.DEMOGRAPHICS_GET_200, SchemaKeys.OR_11_GETALLDEMOGRAPHICS_11_JSON)
|
||||||
|
.add(TransactionKeys.ENROLLMENTS_GET_200, SchemaKeys.OR_11_GETALLENROLLMENTS_11_JSON)
|
||||||
|
.add(TransactionKeys.ORGS_GET_200, SchemaKeys.OR_11_GETALLORGS_11_JSON)
|
||||||
|
.add(TransactionKeys.USERS_GET_200, SchemaKeys.OR_11_GETALLUSERS_11_JSON);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public OneRoster11Inspector build() {
|
||||||
|
return new OneRoster11Inspector(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class TransactionKeys {
|
||||||
|
private static final int[] OK = new int[] { 200 };
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private static final int[] ERR = IntStream.range(400, 500).toArray();
|
||||||
|
|
||||||
|
public static final TransactionKey ACADEMIC_SESSIONS_GET_200 = new TransactionKey(GET, "/academicSessions", OK);
|
||||||
|
public static final TransactionKey CLASSES_GET_200 = new TransactionKey(GET, "/classes", OK);
|
||||||
|
public static final TransactionKey COURSES_GET_200 = new TransactionKey(GET, "/courses", OK);
|
||||||
|
public static final TransactionKey DEMOGRAPHICS_GET_200 = new TransactionKey(GET, "/demographics", OK);
|
||||||
|
public static final TransactionKey ENROLLMENTS_GET_200 = new TransactionKey(GET, "/enrollments", OK);
|
||||||
|
public static final TransactionKey ORGS_GET_200 = new TransactionKey(GET, "/orgs", OK);
|
||||||
|
public static final TransactionKey USERS_GET_200 = new TransactionKey(GET, "/users", OK);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// private static final Logger logger = LogManager.getLogger();
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
org.oneedtech.inspect.oneroster.OneRoster11Inspector
|
@ -0,0 +1,275 @@
|
|||||||
|
package org.oneedtech.inspect.oneroster;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
import static org.oneedtech.inspect.core.probe.Outcome.ERROR;
|
||||||
|
import static org.oneedtech.inspect.core.probe.Outcome.WARNING;
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.ACADEMIC_SESSIONS_GET_200;
|
||||||
|
import static org.oneedtech.inspect.oneroster.Samples.OR11.AS678;
|
||||||
|
import static org.oneedtech.inspect.oneroster.Samples.OR11.AS678I;
|
||||||
|
import static org.oneedtech.inspect.oneroster.Samples.OR11.D198;
|
||||||
|
import static org.oneedtech.inspect.testutil.Assertions.assertErrorCount;
|
||||||
|
import static org.oneedtech.inspect.testutil.Assertions.assertFatalCount;
|
||||||
|
import static org.oneedtech.inspect.testutil.Assertions.assertHasOnlyErrors;
|
||||||
|
import static org.oneedtech.inspect.testutil.Assertions.assertInvalid;
|
||||||
|
import static org.oneedtech.inspect.testutil.Assertions.assertNotRun;
|
||||||
|
import static org.oneedtech.inspect.testutil.Assertions.assertNotRunCount;
|
||||||
|
import static org.oneedtech.inspect.testutil.Assertions.assertValid;
|
||||||
|
import static org.oneedtech.inspect.testutil.PrintHelper.print;
|
||||||
|
import static org.oneedtech.inspect.testutil.Sample.fieldsToList;
|
||||||
|
import static org.oneedtech.inspect.util.net.HttpMethod.GET;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.Disabled;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.oneedtech.inspect.core.Inspector.Behavior;
|
||||||
|
import org.oneedtech.inspect.core.probe.Outcome;
|
||||||
|
import org.oneedtech.inspect.core.probe.context.JsonContext;
|
||||||
|
import org.oneedtech.inspect.core.probe.json.JsonPredicates;
|
||||||
|
import org.oneedtech.inspect.core.probe.json.JsonPropertyPredicateProbe;
|
||||||
|
import org.oneedtech.inspect.core.probe.json.JsonPropertyPresentProbe;
|
||||||
|
import org.oneedtech.inspect.core.report.Report;
|
||||||
|
import org.oneedtech.inspect.core.report.ReportItems;
|
||||||
|
import org.oneedtech.inspect.testutil.PrintHelper;
|
||||||
|
import org.oneedtech.inspect.testutil.Sample;
|
||||||
|
import org.oneedtech.inspect.util.resource.Resource;
|
||||||
|
import org.oneedtech.inspect.util.resource.StringResource;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.google.common.base.Stopwatch;
|
||||||
|
import com.google.common.collect.ArrayListMultimap;
|
||||||
|
import com.google.common.collect.Multimap;
|
||||||
|
|
||||||
|
class OneRoster11Tests {
|
||||||
|
private static OneRoster11Inspector inspector;
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
static void setup() throws Exception {
|
||||||
|
inspector = new OneRoster11Inspector.Builder().build();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSampleAS678() throws Exception {
|
||||||
|
StringResource json = new StringResource(AS678.asString(), "myID", GET, "/academicSessions", 200);
|
||||||
|
assertValid(inspector.run(json));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSampleD198() throws Exception {
|
||||||
|
//this yields > 200k error messages
|
||||||
|
StringResource json = new StringResource(D198.asString(), "myID", GET, "/demographics", 200);
|
||||||
|
Report report = inspector.run(json);
|
||||||
|
assertInvalid(report);
|
||||||
|
assertTrue(report.size(true) > 200000);
|
||||||
|
assertHasOnlyErrors(report, true);
|
||||||
|
//all from the same test
|
||||||
|
assertEquals(1, report.asMap().keySet().size());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSampleAS678I() throws Exception {
|
||||||
|
StringResource sr = new StringResource(AS678I.asString(), "myID", GET, "/academicSessions", 200);
|
||||||
|
Report report = inspector.run(sr);
|
||||||
|
//System.err.println(report.toString(true));
|
||||||
|
assertInvalid(report);
|
||||||
|
assertErrorCount(report, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testInvalidEndpoint() throws Exception {
|
||||||
|
//a valid academicSessions payload returned from another endpoint
|
||||||
|
StringResource sr = new StringResource(AS678.asString(), "myID", GET, "/users", 200);
|
||||||
|
Report report = inspector.run(sr);
|
||||||
|
assertInvalid(report);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testNonExistingEndpoint() throws Exception {
|
||||||
|
//a non-existing endpoint
|
||||||
|
StringResource sr = new StringResource(AS678.asString(), "myID", GET, "/foo", 200);
|
||||||
|
Report report = inspector.run(sr);
|
||||||
|
//print(report, true);
|
||||||
|
assertNotRun(report);
|
||||||
|
assertNotRunCount(report, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testMalformedJson() throws Exception {
|
||||||
|
//a non-existing endpoint
|
||||||
|
StringResource sr = new StringResource("not a json string", "myID", GET, "/users", 200);
|
||||||
|
Report report = inspector.run(sr);
|
||||||
|
//print(report, true);
|
||||||
|
assertInvalid(report);
|
||||||
|
assertFatalCount(report, 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testAllSamples() throws Exception {
|
||||||
|
List<Sample> input = fieldsToList(Samples.OR11.class.getFields());
|
||||||
|
|
||||||
|
for(Sample sample : input) {
|
||||||
|
String body = sample.asString();
|
||||||
|
String endPoint = sample.getTransactionKey().orElseThrow().getEndpoint();
|
||||||
|
int code = sample.getTransactionKey().orElseThrow().getStatusCodes()[0];
|
||||||
|
Resource resource = new StringResource(body, "myID", GET, endPoint, code);
|
||||||
|
|
||||||
|
Report report = inspector.run(resource);
|
||||||
|
|
||||||
|
if(sample.isValid()) {
|
||||||
|
assertValid(report);
|
||||||
|
} else {
|
||||||
|
assertInvalid(report);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testAddParametrizedTests() throws Exception {
|
||||||
|
//add parametrized tests from core lib and a custom
|
||||||
|
String payload = AS678.asString();
|
||||||
|
StringResource rsrc = new StringResource(payload, "myID", GET, "/academicSessions", 200);
|
||||||
|
|
||||||
|
OneRoster11Inspector validator = new OneRoster11Inspector.Builder()
|
||||||
|
//.add(new PrintStreamListener(System.out, true))
|
||||||
|
.set(Behavior.TEST_INCLUDE_SUCCESS, true)
|
||||||
|
//.remove(predicate)
|
||||||
|
//.set(OneRoster11Inspector.TransactionKeys.ACADEMIC_SESSIONS_GET_200)
|
||||||
|
|
||||||
|
//this one succeeds
|
||||||
|
.add(ACADEMIC_SESSIONS_GET_200, new JsonPropertyPresentProbe("$.academicSessions[*]", "status",
|
||||||
|
"You really should include status", WARNING))
|
||||||
|
//this one warns
|
||||||
|
.add(ACADEMIC_SESSIONS_GET_200, new JsonPropertyPresentProbe("$.academicSessions[*]", "foo",
|
||||||
|
"Think again about including foo", WARNING))
|
||||||
|
//this one errors
|
||||||
|
.add(ACADEMIC_SESSIONS_GET_200, new JsonPropertyPredicateProbe("$.academicSessions[*].status",
|
||||||
|
JsonPredicates.valueEquals("foo"),
|
||||||
|
"The status field does not have expected value 'foo'", ERROR))
|
||||||
|
//this one warns
|
||||||
|
.add(ACADEMIC_SESSIONS_GET_200, new JsonPropertyPredicateProbe("$.academicSessions[*].type",
|
||||||
|
JsonPredicates.valueMatches(Pattern.compile("(foo|bar)")),
|
||||||
|
"The type field should have either of the values 'foo' or 'bar'", WARNING))
|
||||||
|
//this one succeeds
|
||||||
|
.add(ACADEMIC_SESSIONS_GET_200, new MyCustomTest())
|
||||||
|
|
||||||
|
.build();
|
||||||
|
|
||||||
|
Report result = validator.run(rsrc);
|
||||||
|
//PrintHelper.print(result, true);
|
||||||
|
String failTestID1 = "JsonPropertyPresentProbe|$.academicSessions[*]|foo";
|
||||||
|
String failTestID2 = "JsonPropertyPredicateProbe|$.academicSessions[*].type|The.type.field.should.have.either.of.the.values.'foo'.or.'bar'";
|
||||||
|
String failTestID3 = "JsonPropertyPredicateProbe|$.academicSessions[*].status|The.status.field.does.not.have.expected.value.'foo'";
|
||||||
|
String succTestID1 = "JsonPropertyPresentProbe|$.academicSessions[*]|status";
|
||||||
|
String succTestID2 = "JsonSchemaProbe|getAllAcademicSessions-200-responsepayload-schema.json";
|
||||||
|
String succTestID3 = MyCustomTest.ID;
|
||||||
|
|
||||||
|
assertFalse(result.getOutcome() == Outcome.VALID);
|
||||||
|
assertEquals(6, result.size());
|
||||||
|
assertEquals(3, result.size(true));
|
||||||
|
assertTrue(result.contains(Outcome.WARNING));
|
||||||
|
assertTrue(result.contains(Outcome.ERROR));
|
||||||
|
assertTrue(result.contains(Outcome.VALID));
|
||||||
|
|
||||||
|
assertTrue(result.contains(failTestID1));
|
||||||
|
assertTrue(result.contains(failTestID2));
|
||||||
|
assertTrue(result.contains(failTestID3));
|
||||||
|
assertTrue(result.contains(succTestID1));
|
||||||
|
assertTrue(result.contains(succTestID2));
|
||||||
|
assertTrue(result.contains(succTestID3));
|
||||||
|
assertEquals(6, result.asMap().keySet().size());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static final class MyCustomTest extends org.oneedtech.inspect.core.probe.Probe<JsonNode, JsonContext> {
|
||||||
|
static final String ID = "MyCustomTestID";
|
||||||
|
|
||||||
|
public MyCustomTest() {
|
||||||
|
super(ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ReportItems run(JsonNode root, JsonContext context) throws Exception {
|
||||||
|
//do something
|
||||||
|
|
||||||
|
//return
|
||||||
|
return success(this, context);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Disabled
|
||||||
|
@Test
|
||||||
|
void testAllPerformanceLoop() throws Exception {
|
||||||
|
List<Sample> input = Sample.fieldsToList(Samples.OR11.class.getFields());
|
||||||
|
|
||||||
|
//read each sample into a string
|
||||||
|
Map<Sample, String> data = new LinkedHashMap<>();
|
||||||
|
for(Sample sample : input) {
|
||||||
|
data.put(sample, sample.asString());
|
||||||
|
}
|
||||||
|
|
||||||
|
Multimap<Sample, RunData> results = ArrayListMultimap.create();
|
||||||
|
|
||||||
|
Stopwatch total = Stopwatch.createStarted();
|
||||||
|
int runs = 0;
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
for(Sample sample : data.keySet()) {
|
||||||
|
//System.gc();
|
||||||
|
++runs;
|
||||||
|
String body = data.get(sample);
|
||||||
|
String endPoint = sample.getTransactionKey().orElseThrow().getEndpoint();
|
||||||
|
int code = sample.getTransactionKey().orElseThrow().getStatusCodes()[0];
|
||||||
|
|
||||||
|
Resource resource = new StringResource(body, "myID", GET, endPoint, code);
|
||||||
|
|
||||||
|
Stopwatch watch = Stopwatch.createStarted();
|
||||||
|
Report result = inspector.run(resource);
|
||||||
|
watch.stop();
|
||||||
|
|
||||||
|
assertTrue(result.getOutcome() == Outcome.VALID == sample.isValid());
|
||||||
|
assertTrue(result.getOutcome() == Outcome.VALID ? result.size(true) < 1 : result.size(true) > 0 );
|
||||||
|
|
||||||
|
results.put(sample, new RunData(watch, result.size(true)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
total.stop();
|
||||||
|
long totalMs = total.elapsed(TimeUnit.MILLISECONDS);
|
||||||
|
|
||||||
|
System.out.println("Total " + runs + " runs in " + totalMs + " ms (average: " + (totalMs/runs) +" ms).");
|
||||||
|
|
||||||
|
for(Sample sample : results.keySet()) {
|
||||||
|
Collection<RunData> rd = results.get(sample);
|
||||||
|
int msgs = rd.iterator().next().messageCount;
|
||||||
|
long avgMs = average(rd);
|
||||||
|
System.out.println("Average " + avgMs + "ms on " + sample.getLocation() + " (isValid: " + sample.isValid() + ", msgs: " + msgs + ")");
|
||||||
|
}
|
||||||
|
|
||||||
|
//System.out.println(allDefaultsOneRoster11Validator.delegates.stats().toString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private long average(Collection<RunData> rds) {
|
||||||
|
long total = 0;
|
||||||
|
for(RunData rd : rds ) {
|
||||||
|
total += rd.watch.elapsed(TimeUnit.MILLISECONDS);
|
||||||
|
}
|
||||||
|
return total/rds.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class RunData {
|
||||||
|
public final Stopwatch watch;
|
||||||
|
public final int messageCount;
|
||||||
|
public RunData(Stopwatch watch, int messageCount) {
|
||||||
|
this.watch = watch;
|
||||||
|
this.messageCount = messageCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package org.oneedtech.inspect.oneroster;
|
||||||
|
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.ACADEMIC_SESSIONS_GET_200;
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.CLASSES_GET_200;
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.COURSES_GET_200;
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.DEMOGRAPHICS_GET_200;
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.ENROLLMENTS_GET_200;
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.ORGS_GET_200;
|
||||||
|
import static org.oneedtech.inspect.oneroster.OneRoster11Inspector.TransactionKeys.USERS_GET_200;
|
||||||
|
|
||||||
|
import org.oneedtech.inspect.testutil.Sample;
|
||||||
|
|
||||||
|
public class Samples {
|
||||||
|
|
||||||
|
public static final class OR11 {
|
||||||
|
//valid
|
||||||
|
public static final Sample AS678 = new Sample("or11/1574845678/academicSessions.json", true, ACADEMIC_SESSIONS_GET_200);
|
||||||
|
public static final Sample CL678 = new Sample("or11/1574845678/classes.json", true, CLASSES_GET_200);
|
||||||
|
public static final Sample CO678 = new Sample("or11/1574845678/courses.json", true, COURSES_GET_200);
|
||||||
|
public static final Sample EN678 = new Sample("or11/1574845678/enrollments.json", true, ENROLLMENTS_GET_200);
|
||||||
|
public static final Sample OR678 = new Sample("or11/1574845678/orgs.json", true, ORGS_GET_200);
|
||||||
|
public static final Sample US678 = new Sample("or11/1574845678/users.json", true, USERS_GET_200);
|
||||||
|
public static final Sample AS198 = new Sample("or11/1598444198/academicSessions.json",true, ACADEMIC_SESSIONS_GET_200);
|
||||||
|
public static final Sample CL198 = new Sample("or11/1598444198/classes.json", true, CLASSES_GET_200);
|
||||||
|
public static final Sample CO198 = new Sample("or11/1598444198/courses.json", true, COURSES_GET_200);
|
||||||
|
public static final Sample OR198 = new Sample("or11/1598444198/orgs.json", true, ORGS_GET_200);
|
||||||
|
public static final Sample US198 = new Sample("or11/1598444198/users.json", true, USERS_GET_200);
|
||||||
|
|
||||||
|
//invalid
|
||||||
|
public static final Sample AS678I = new Sample("or11/1574845678/academicSessions-invalid.json", false, ACADEMIC_SESSIONS_GET_200);
|
||||||
|
//TODO which is correct, schema or sample? demographics "true" vs boolean
|
||||||
|
public static final Sample D678I = new Sample("or11/1574845678/demographics.json", false, DEMOGRAPHICS_GET_200);
|
||||||
|
public static final Sample D198 = new Sample("or11/1598444198/demographics.json", false, DEMOGRAPHICS_GET_200);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,389 @@
|
|||||||
|
{
|
||||||
|
"academicSessions": [
|
||||||
|
{
|
||||||
|
|
||||||
|
"status": 234,
|
||||||
|
"dateLastModified": true,
|
||||||
|
"title": "2020 School Year",
|
||||||
|
"type": "schoolYear",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 Fall term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2019-12-19",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"sourcedId": "5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "8983aaa1-b28e-43f9-85a3-a3b2c1c237e1",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 1st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2019-09-13",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "46af0c58-bc68-4090-a279-c79e396e72fb",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 2nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-16",
|
||||||
|
"endDate": "2019-09-27",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "a044b696-3df1-4075-9005-985df1d43025",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 3rd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-30",
|
||||||
|
"endDate": "2019-10-11",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "3a2b98f2-9a5e-402f-8841-a695d7109567",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 4th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-10-14",
|
||||||
|
"endDate": "2019-10-25",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "206be37d-d54b-4d16-80e0-1409a2d7e61f",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 5th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-10-28",
|
||||||
|
"endDate": "2019-11-08",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "87495b83-dd02-46b6-8b8d-a7afe55108f5",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 6th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-11-11",
|
||||||
|
"endDate": "2019-11-22",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "f941ccc7-b371-4004-9ec0-89d1396e4dd1",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 7th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-11-25",
|
||||||
|
"endDate": "2019-12-06",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "7cacc29f-1c53-4379-b049-a5a8b34700c5",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 8th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-12-09",
|
||||||
|
"endDate": "2019-12-19",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 Winter term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2020-01-06",
|
||||||
|
"endDate": "2020-04-03",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"sourcedId": "5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "17ac5b28-4a73-4a45-ae21-826217c95ba7",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 9th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-01-06",
|
||||||
|
"endDate": "2020-01-17",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "98e5346a-be01-417f-a709-e3ee1635cf58",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 10th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-01-20",
|
||||||
|
"endDate": "2020-01-31",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "27800d08-1380-4b86-8435-9502d8688fd0",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 11st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-02-03",
|
||||||
|
"endDate": "2020-02-14",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "22a5cd12-ec4f-422b-ba64-17ca228c264a",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 12nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-02-17",
|
||||||
|
"endDate": "2020-02-28",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "b773f1dc-ea7e-496b-a8bc-1e30eb078000",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 13rd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-02",
|
||||||
|
"endDate": "2020-03-13",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "6f87caaa-f183-4d0c-b711-6e8b76446099",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 14th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-16",
|
||||||
|
"endDate": "2020-03-27",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "de521839-fbc7-4035-b939-c255c446e74d",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 15th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-30",
|
||||||
|
"endDate": "2020-04-03",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 Spring term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2020-04-20",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"sourcedId": "5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "6c5f545e-58df-4e00-a3af-bded24d627a5",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 16th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-04-20",
|
||||||
|
"endDate": "2020-05-01",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "0a54fede-34bb-4631-bef8-8b052a8a012b",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 17th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-05-04",
|
||||||
|
"endDate": "2020-05-15",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "2c0ceb35-deaf-4166-bea6-83cf1251069c",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 18th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-05-18",
|
||||||
|
"endDate": "2020-05-29",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "002f50df-a8e5-430c-85d3-3233e12876de",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 19th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-01",
|
||||||
|
"endDate": "2020-06-12",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "02fff4ad-cdfd-42dc-90b0-5ade4b92f24d",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 20th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-15",
|
||||||
|
"endDate": "2020-06-26",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "1a7c57e1-020c-4ebc-ab59-ae9bf782a1f3",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 21st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-29",
|
||||||
|
"endDate": "2020-07-10",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "9adf5f16-79ca-4f32-8204-f0d71d5ab73b",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 22nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-07-13",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,389 @@
|
|||||||
|
{
|
||||||
|
"academicSessions": [
|
||||||
|
{
|
||||||
|
"sourcedId": "5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.712Z",
|
||||||
|
"title": "2020 School Year",
|
||||||
|
"type": "schoolYear",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 Fall term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2019-12-19",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"sourcedId": "5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "8983aaa1-b28e-43f9-85a3-a3b2c1c237e1",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 1st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2019-09-13",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "46af0c58-bc68-4090-a279-c79e396e72fb",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 2nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-16",
|
||||||
|
"endDate": "2019-09-27",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "a044b696-3df1-4075-9005-985df1d43025",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 3rd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-30",
|
||||||
|
"endDate": "2019-10-11",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "3a2b98f2-9a5e-402f-8841-a695d7109567",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 4th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-10-14",
|
||||||
|
"endDate": "2019-10-25",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "206be37d-d54b-4d16-80e0-1409a2d7e61f",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.713Z",
|
||||||
|
"title": "2020 5th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-10-28",
|
||||||
|
"endDate": "2019-11-08",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "87495b83-dd02-46b6-8b8d-a7afe55108f5",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 6th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-11-11",
|
||||||
|
"endDate": "2019-11-22",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "f941ccc7-b371-4004-9ec0-89d1396e4dd1",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 7th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-11-25",
|
||||||
|
"endDate": "2019-12-06",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "7cacc29f-1c53-4379-b049-a5a8b34700c5",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 8th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-12-09",
|
||||||
|
"endDate": "2019-12-19",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"sourcedId": "fb5ef8fb-d001-42ac-8a8b-3cb17382c413",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.714Z",
|
||||||
|
"title": "2020 Winter term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2020-01-06",
|
||||||
|
"endDate": "2020-04-03",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"sourcedId": "5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "17ac5b28-4a73-4a45-ae21-826217c95ba7",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 9th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-01-06",
|
||||||
|
"endDate": "2020-01-17",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "98e5346a-be01-417f-a709-e3ee1635cf58",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 10th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-01-20",
|
||||||
|
"endDate": "2020-01-31",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "27800d08-1380-4b86-8435-9502d8688fd0",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 11st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-02-03",
|
||||||
|
"endDate": "2020-02-14",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "22a5cd12-ec4f-422b-ba64-17ca228c264a",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 12nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-02-17",
|
||||||
|
"endDate": "2020-02-28",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "b773f1dc-ea7e-496b-a8bc-1e30eb078000",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.716Z",
|
||||||
|
"title": "2020 13rd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-02",
|
||||||
|
"endDate": "2020-03-13",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "6f87caaa-f183-4d0c-b711-6e8b76446099",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 14th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-16",
|
||||||
|
"endDate": "2020-03-27",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "de521839-fbc7-4035-b939-c255c446e74d",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 15th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-30",
|
||||||
|
"endDate": "2020-04-03",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"sourcedId": "4085f9ea-8341-477e-9c64-538d539ad08a",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 Spring term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2020-04-20",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"sourcedId": "5d88e657-e1bb-45a6-8e16-6c1542f340ee",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "6c5f545e-58df-4e00-a3af-bded24d627a5",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 16th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-04-20",
|
||||||
|
"endDate": "2020-05-01",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "0a54fede-34bb-4631-bef8-8b052a8a012b",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 17th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-05-04",
|
||||||
|
"endDate": "2020-05-15",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "2c0ceb35-deaf-4166-bea6-83cf1251069c",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.717Z",
|
||||||
|
"title": "2020 18th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-05-18",
|
||||||
|
"endDate": "2020-05-29",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "002f50df-a8e5-430c-85d3-3233e12876de",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 19th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-01",
|
||||||
|
"endDate": "2020-06-12",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "02fff4ad-cdfd-42dc-90b0-5ade4b92f24d",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 20th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-15",
|
||||||
|
"endDate": "2020-06-26",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "1a7c57e1-020c-4ebc-ab59-ae9bf782a1f3",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 21st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-29",
|
||||||
|
"endDate": "2020-07-10",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "9adf5f16-79ca-4f32-8204-f0d71d5ab73b",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:17.718Z",
|
||||||
|
"title": "2020 22nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-07-13",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"sourcedId": "97768ef0-ee0d-4c42-8959-79b746fa3c09",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
15320
inspector-oneroster/src/test/resources/or11/1574845678/classes.json
Normal file
15320
inspector-oneroster/src/test/resources/or11/1574845678/classes.json
Normal file
File diff suppressed because it is too large
Load Diff
2088
inspector-oneroster/src/test/resources/or11/1574845678/courses.json
Normal file
2088
inspector-oneroster/src/test/resources/or11/1574845678/courses.json
Normal file
File diff suppressed because it is too large
Load Diff
27187
inspector-oneroster/src/test/resources/or11/1574845678/demographics.json
Normal file
27187
inspector-oneroster/src/test/resources/or11/1574845678/demographics.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"orgs": [
|
||||||
|
{
|
||||||
|
"sourcedId": "d94f060a-dc3c-4db6-995d-2cca9bce3109",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T09:21:22.046Z",
|
||||||
|
"name": "Maple Grove School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "27541020374"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
41595
inspector-oneroster/src/test/resources/or11/1574845678/users.json
Normal file
41595
inspector-oneroster/src/test/resources/or11/1574845678/users.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,389 @@
|
|||||||
|
{
|
||||||
|
"academicSessions": [
|
||||||
|
{
|
||||||
|
"sourcedId": "13e59adb-8330-4bd6-a892-21ec2d2cbd8c",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.410Z",
|
||||||
|
"title": "2020 School Year",
|
||||||
|
"type": "schoolYear",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.410Z",
|
||||||
|
"title": "2020 Fall term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2019-12-19",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/13e59adb-8330-4bd6-a892-21ec2d2cbd8c",
|
||||||
|
"sourcedId": "13e59adb-8330-4bd6-a892-21ec2d2cbd8c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "12ba6ede-fc30-4853-89b4-18c4bb2d7821",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.410Z",
|
||||||
|
"title": "2020 1st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-01",
|
||||||
|
"endDate": "2019-09-13",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "101b52b1-3271-49b0-9125-cfb12bb0d559",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.410Z",
|
||||||
|
"title": "2020 2nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-16",
|
||||||
|
"endDate": "2019-09-27",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "7c18d769-ba1d-4c4e-9816-46b4f8d985bb",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.410Z",
|
||||||
|
"title": "2020 3rd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-09-30",
|
||||||
|
"endDate": "2019-10-11",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "cab03ae1-b2cd-44de-9368-cdd50feb55f0",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 4th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-10-14",
|
||||||
|
"endDate": "2019-10-25",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "5f1eda42-a71e-4a4f-9724-227b9003d6dc",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 5th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-10-28",
|
||||||
|
"endDate": "2019-11-08",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "ce933eab-7353-4ba2-9b60-ab0059fae015",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 6th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-11-11",
|
||||||
|
"endDate": "2019-11-22",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "00b12f9d-455b-4e3d-bd98-9d41bb579a02",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 7th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-11-25",
|
||||||
|
"endDate": "2019-12-06",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "2181e3d9-a9d9-4193-8ae3-0dcc795ef0d1",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 8th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2019-12-09",
|
||||||
|
"endDate": "2019-12-19",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"sourcedId": "fd193c3e-98eb-4b35-853a-cbf071bb300c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 Winter term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2020-01-06",
|
||||||
|
"endDate": "2020-04-03",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/13e59adb-8330-4bd6-a892-21ec2d2cbd8c",
|
||||||
|
"sourcedId": "13e59adb-8330-4bd6-a892-21ec2d2cbd8c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "31ea2950-8d91-41fc-b4b8-83ce07118fd5",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 9th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-01-06",
|
||||||
|
"endDate": "2020-01-17",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "9a96dff2-4109-429b-8ec8-b637f9b3eeb3",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 10th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-01-20",
|
||||||
|
"endDate": "2020-01-31",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "cc618ef5-f397-49e8-8afa-318683f63ab8",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 11st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-02-03",
|
||||||
|
"endDate": "2020-02-14",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "5f40be47-e5e7-4d3e-b2ba-386c9769a9ce",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 12nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-02-17",
|
||||||
|
"endDate": "2020-02-28",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "c880bda7-a5b5-49f2-a689-40308a033fc8",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 13rd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-02",
|
||||||
|
"endDate": "2020-03-13",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "aa54569e-55b6-4bbf-914e-a1e41d55b193",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 14th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-16",
|
||||||
|
"endDate": "2020-03-27",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "f2ddaeb1-6262-4ef2-897a-5909c3e03234",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.411Z",
|
||||||
|
"title": "2020 15th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-03-30",
|
||||||
|
"endDate": "2020-04-03",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"sourcedId": "d7ad366d-dd27-4db8-a2df-ac2acb1bf533",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.412Z",
|
||||||
|
"title": "2020 Spring term",
|
||||||
|
"type": "term",
|
||||||
|
"startDate": "2020-04-20",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/13e59adb-8330-4bd6-a892-21ec2d2cbd8c",
|
||||||
|
"sourcedId": "13e59adb-8330-4bd6-a892-21ec2d2cbd8c",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "a53623c5-0fcc-42b9-a3a6-0aab32a7d5eb",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.412Z",
|
||||||
|
"title": "2020 16th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-04-20",
|
||||||
|
"endDate": "2020-05-01",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "049a7079-4be0-48c8-b138-a0c4cd24ab7e",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.414Z",
|
||||||
|
"title": "2020 17th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-05-04",
|
||||||
|
"endDate": "2020-05-15",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "a6a5af9a-5ed5-426a-b464-65a9b608894a",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.414Z",
|
||||||
|
"title": "2020 18th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-05-18",
|
||||||
|
"endDate": "2020-05-29",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "0b0eea75-67cd-4b21-8ee2-376e9e20a47d",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.414Z",
|
||||||
|
"title": "2020 19th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-01",
|
||||||
|
"endDate": "2020-06-12",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "5e520765-6c6e-4550-b4df-2fb83879cb0a",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.414Z",
|
||||||
|
"title": "2020 20th gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-15",
|
||||||
|
"endDate": "2020-06-26",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "2d00411e-8178-48cd-a1a1-33b99568f80a",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.414Z",
|
||||||
|
"title": "2020 21st gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-06-29",
|
||||||
|
"endDate": "2020-07-10",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "6e8aa035-6a99-4d3b-90e7-ad76b7048a5c",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:16.415Z",
|
||||||
|
"title": "2020 22nd gradingPeriod",
|
||||||
|
"type": "gradingPeriod",
|
||||||
|
"startDate": "2020-07-13",
|
||||||
|
"endDate": "2020-07-16",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/academicsessions/725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"sourcedId": "725d08f6-85b4-4d01-bc12-fdbc2e58fcd3",
|
||||||
|
"type": "academicSession"
|
||||||
|
},
|
||||||
|
"schoolYear": "2020"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
18760
inspector-oneroster/src/test/resources/or11/1598444198/courses.json
Normal file
18760
inspector-oneroster/src/test/resources/or11/1598444198/courses.json
Normal file
File diff suppressed because it is too large
Load Diff
246844
inspector-oneroster/src/test/resources/or11/1598444198/demographics.json
Normal file
246844
inspector-oneroster/src/test/resources/or11/1598444198/demographics.json
Normal file
File diff suppressed because it is too large
Load Diff
129
inspector-oneroster/src/test/resources/or11/1598444198/orgs.json
Normal file
129
inspector-oneroster/src/test/resources/or11/1598444198/orgs.json
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
{
|
||||||
|
"orgs": [
|
||||||
|
{
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.954Z",
|
||||||
|
"name": "Pine Grove District",
|
||||||
|
"type": "district",
|
||||||
|
"identifier": "573752"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "aa1de6c6-6376-414c-98c0-296f7745d2ef",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "North Drive School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375243458",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "6d64b79a-ea5a-42e8-bd9b-efce05e3bdd1",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Coronation Grove School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375267532",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "993abd52-9906-4a43-8af2-a22a3ad49db7",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Bethel School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375200322",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "7c384377-caad-480c-a368-ead629d3c1c0",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Maple Grove School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375223861",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "0523acee-2faf-4c13-a0c8-55c1caf44919",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Saint Marys School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375252827",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "8938ca86-fc40-45ac-811c-f08356d5cc55",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Mount Zion School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375278238",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "dbb7d776-ab39-4c73-af94-f4ea87c109ac",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Washington School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375200506",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "158baffe-fc43-443d-a449-c5c3bd7cae08",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Willow Bend School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375285014",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sourcedId": "83fa40ce-b5a2-427f-8e02-fa3f99eb0b3c",
|
||||||
|
"status": "active",
|
||||||
|
"dateLastModified": "2021-03-12T10:59:22.955Z",
|
||||||
|
"name": "Walnut Grove School",
|
||||||
|
"type": "school",
|
||||||
|
"identifier": "57375216374",
|
||||||
|
"parent": {
|
||||||
|
"href": "https://dev.1edtech.net/orgs/d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"sourcedId": "d791f315-35a2-47ba-a0b8-b8b63b356847",
|
||||||
|
"type": "org"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user